PDO werkt niet
Ik ben vandaag begonnen om pdo werkend te krijgen maar dat wil niet echt lukken.
Ik draai het volgende: PHP 5.2.1
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
Dat staat in mn php.ini
Maar als ik dit script draai:
Krijg ik deze foutmelding:
Fatal error: Class 'PDO' not found in C:\Server\Apache2\htdocs\CMS\pdo.php on line 3
Wat heb ik gedaan:
* Gechecked of ik in het goede php.ini bestand bezig was.
* Gechecked of het path van de extensions klopte
Wat zie ik over het hoofd. op php.net lees ik:
PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:
Dus alles lijkt erop dat ik het goed doe toch?
Ik heb apache meerdere malen herstard.
Wellicht heb je de verkeerde php.ini aangepast.
in de hele phpinfo komt het woord pdo niet voor, als ik met php get_loaded_extensions doe krijg ik dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
bcmath
calendar
com_dotnet
ctype
session
filter
ftp
hash
iconv
json
odbc
pcre
Reflection
date
libxml
standard
tokenizer
zlib
SimpleXML
dom
SPL
wddx
xml
xmlreader
xmlwriter
apache2handler
gd
mbstring
mysql
mysqli
calendar
com_dotnet
ctype
session
filter
ftp
hash
iconv
json
odbc
pcre
Reflection
date
libxml
standard
tokenizer
zlib
SimpleXML
dom
SPL
wddx
xml
xmlreader
xmlwriter
apache2handler
gd
mbstring
mysql
mysqli
Dus dat is vreemd
Wat ik verder ontdekt heb: als ik start->uitvoeren->cmd->php.exe geeft dit:
Microsoft Windows XP [versie 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Freek>php.exe
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Server\Apache2\PHP
\extensions\php_mysql.dll' - Ongeldige toegang tot geheugenlocatie.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Server\Apache2\PHP
\extensions\php_mysqli.dll' - Ongeldige toegang tot geheugenlocatie.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Server\Apache2\PHP
\extensions\php_pdo.dll' - Kan opgegeven module niet vinden.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Server\Apache2\PHP
\extensions\php_pdo_mysql.dll' - Kan opgegeven module niet vinden.
in Unknown on line 0
Succes ermee! ;)
PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:
En het rare is dat hij zegt dat hij ook niet bij mysql.dll kan komen, maar die staat wel bij loaded extensions...
Staan de bestanden php_pdo.dll en php_pdo_mysql.dll wel in de extensions map? Je kunt heel lang tegen PHP zeggen dat hij ze moet laden, maar als ze niet bestaan wordt dat moeilijk.
BTW:
dit werkt ook niet dl('de goede naam'); dan zegt ie dat het niet mag en dat ik het via php.ini moet doen.
Freek schreef op 19.01.2008 22:18:
Ja he wijsneus, waarom werkt het niet dan?Nee ze staan er niet, maar je zou ze neit hoeven te hebben want ze horen er standaard bij te zitten, staat op de website, heb ik nu tot twee keer toe gezegd.
Als de extensions niet in die map staan, zijn ze blijkbaar niet meegeleverd met jouw installatie van PHP. Dat er iets anders op de PHP.net site staat, wil nog niet zeggen dat je ze niet nodig zou hebben!
Kortom, download de benodigde extensions, en gooi ze in die map. Activeer ze in je php.ini en herstart apache. Als het goed is moeten ze dan wel beschikbaar zijn.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Ja maar waar vind ik ze, ik heb gegooglde op de naam, maar ik krijg allen bestand voor unix os.
http://phphulp.jorendewit.nl/temp/pdo.rar
ps. Overigens kun je ze ook gewoon hier vandaan halen: http://pecl4win.php.net/list.php
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Dankjullie wel, het werk,
Freek schreef op 19.01.2008 22:52:
Natuurlijk werkt het! Succes ermee in ieder geval ;-)Dankjullie wel, het werk,