mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 11:18:56 von Karsten Wutzke
Hallo alle!
Bin nicht neu in PHP direkt, nur in Adminsachen.
Ich habe probiert PHP 5.1.6, MySQL 4.1.21 auf Windows XP zu installen.
Soweit so gut, der Apache findet den PHP-Interpreter und spuckt ein
paar Testzeilen von der einer PHP-Seite korrekt aus, einfach ein paar
echos mit HTML-Links.
Also funktioniert das Basic Setup.
Habe den mysqli PHP-Connector von
http://dev.mysql.com/downloads/connector/php/ runtergeladen. Die 88KB
Datei php_mysqli.dll aus dem ZIP habe ich in mein root PHP-Verzeichnis
gelegt. In der php.ini steht "extension_dir =3D ./" (war default), sollte
also eigentlich gehen oder nicht? PATH=3D variable steht auch auf das PHP
root dir, Apache hab ich auch mehrmals neu gestartet...
In meinem Code habe ich nun einen Aufruf nach:
function is_mysql_db_available($server, $user, $passwd, $db)
{
echo "4 gleich silent fail
";
//open connection
$conn =3D mysqli_connect($server, $user, $passwd);
echo "5 dfsdfsf
";
if ( !$conn )
{
output_error("Fehler! Der MySQL Datenbankserver '$server' ist nicht
verfügbar!");
return FALSE;
}
.
.
.
}
Output trace (simples printf-debugging):
1 dfsdfsf
3 dfsdfsf
4 gleich silent fail
Egal was der Code vorher war, es wird nicht das echo "5 dfsdfsf"
ausgegeben und sonst auch nix weiteres.
Ein toller "silent fail".
Was mache ich falsch? Wie mach ich es richtig?
Dieser Doku-Wirrwarr im Netz zur korrekten Installation iss ja echt
schlimm...
Danke schonmal und Gruß
Karsten
Re: mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 11:41:06 von Joerg Behrens
Karsten Wutzke schrieb:
> Hallo alle!
>
> Bin nicht neu in PHP direkt, nur in Adminsachen.
>
> Ich habe probiert PHP 5.1.6, MySQL 4.1.21 auf Windows XP zu installen.
> Soweit so gut, der Apache findet den PHP-Interpreter und spuckt ein
> paar Testzeilen von der einer PHP-Seite korrekt aus, einfach ein paar
> echos mit HTML-Links.
>
> Also funktioniert das Basic Setup.
Und nun php.ini seinen wuenschen anpassen. In der php.ini ist weder
extension_dir, session.safe_path, include_path (und noch andere) gesetzt.
Nach dem aendern wird nach dem restart des Webservers ein phpinfo()
gemacht und geschaut das die Einstellungen dort zu finden sind.
Dann mal eine der mitgebrachten Extension laden mittels
dl('php_gd2.dll)');
phpinfo();
?>
und schauen das die Extension auftaucht.
>
> Habe den mysqli PHP-Connector von
> http://dev.mysql.com/downloads/connector/php/ runtergeladen. Die 88KB
Haeh?
PHP bringt eine php_mysql.dll *und* php_mysqli.dll mit. Der Sonderfall
ist hier nur das diese Extensions eine Abhaengigkeit haben, welche
allerdings geloest wird in dem PHP eine libmysql.dll mitbringt.
> Was mache ich falsch? Wie mach ich es richtig?
> Dieser Doku-Wirrwarr im Netz zur korrekten Installation iss ja echt
> schlimm...
Steht doch in der install.txt welche deinem PHP beiliegt.
Gruss
Joerg
--
TakeNet GmbH http://www.takenet.de
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
Re: mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 14:28:24 von Karsten Wutzke
Joerg Behrens schrieb:
> Karsten Wutzke schrieb:
> > Hallo alle!
> >
> > Bin nicht neu in PHP direkt, nur in Adminsachen.
> >
> > Ich habe probiert PHP 5.1.6, MySQL 4.1.21 auf Windows XP zu installen.
> > Soweit so gut, der Apache findet den PHP-Interpreter und spuckt ein
> > paar Testzeilen von der einer PHP-Seite korrekt aus, einfach ein paar
> > echos mit HTML-Links.
> >
> > Also funktioniert das Basic Setup.
>
> Und nun php.ini seinen wuenschen anpassen. In der php.ini ist weder
> extension_dir, session.safe_path, include_path (und noch andere) gesetzt.
>
> Nach dem aendern wird nach dem restart des Webservers ein phpinfo()
> gemacht und geschaut das die Einstellungen dort zu finden sind.
>
> Dann mal eine der mitgebrachten Extension laden mittels
>
> dl('php_gd2.dll)');
> phpinfo();
> ?>
>
> und schauen das die Extension auftaucht.
>
I see. Was ich jetzt schon alles versucht hab. Kann ja nich wahr sein.
Also, jedenfalls iss die Installation von PHP clean, d.h. so wie
entpackt. Lediglich die php.ini hab ich von der PHP-root-Datei
php.ini-recommended kopiert.
Geändert hab ich:
extension_dir =3D "C:\dev\php\ext"
Weiter unten dann ; auskommentiert für die mysqli extension:
extension=3Dmysqli.dll
Soo Server neu gestartet, Browser komplett zu. Wieder die Seite
geladen, mit phpinfo() Info HTML anzeigen, jedoch *kein* mysqli in der
phpinfo() zu finden!
Die mysqli extension müsste doch zwischen libxml und odbc auftauchen
oder? Eine Suche auf der Seite ergibt ganix.
Die DLL-Dateien existieren im Übrigen.
> >
> > Habe den mysqli PHP-Connector von
> > http://dev.mysql.com/downloads/connector/php/ runtergeladen. Die 88KB
>
> Haeh?
> PHP bringt eine php_mysql.dll *und* php_mysqli.dll mit.
OK haste Recht.
> Der Sonderfall
> ist hier nur das diese Extensions eine Abhaengigkeit haben, welche
> allerdings geloest wird in dem PHP eine libmysql.dll mitbringt.
>
Jo und die liegt im PHP root.
>
> Steht doch in der install.txt welche deinem PHP beiliegt.
>
Joa, es funktioniert aber immer noch gaaanix... immer noch silent fail
phpinfo() zeigt desweiteren nix von einem --with-mysql... etc. Eintrag.
Iss das korrekt so, wenn nein wo muss das hin??
Eigentlich besteht die PHP-Installation doch nur aus:
php.ini von der -recommended kopieren und umbenennen
extension_dir =3D "C:\dev\php\ext" setzen und meinetwegen noch
extension =3D mysqli.dll auskommentieren, damit man nicht dl() benutzen
muss.
ODER?
Karsten
PS: Welche Option enabled auto error messages bei undefined references
zb?
Re: mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 15:05:52 von Ulf Kadner
Karsten Wutzke schrieb:
>> allerdings geloest wird in dem PHP eine libmysql.dll mitbringt.
>
> Jo und die liegt im PHP root.
Kopier die mal nach system32 (so wie in install.txt beschrieben)
> phpinfo() zeigt desweiteren nix von einem --with-mysql
das ist nur für Unixe von interesse. Oder wenn Dus unter Windows selber
kompilieren willst.
> Eigentlich besteht die PHP-Installation doch nur aus:
>
> php.ini von der -recommended kopieren und umbenennen
> extension_dir = "C:\dev\php\ext" setzen und meinetwegen noch
> extension = mysqli.dll auskommentieren, damit man nicht dl() benutzen
> muss.
>
> ODER?
Nein! Natürlich nicht :-) Was verstehst Du den an der install.txt nicht?
> PS: Welche Option enabled auto error messages bei undefined references
> zb?
Was fürn Zeug?
MfG, Ulf
Re: mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 15:16:04 von Karsten Wutzke
Karsten Wutzke schrieb:
> Joerg Behrens schrieb:
>
> > Karsten Wutzke schrieb:
>
> Eigentlich besteht die PHP-Installation doch nur aus:
>
> php.ini von der -recommended kopieren und umbenennen
> extension_dir =3D "C:\dev\php\ext" setzen und meinetwegen noch
> extension =3D mysqli.dll auskommentieren, damit man nicht dl() benutzen
> muss.
>
> ODER?
>
> Karsten
>
Also wenn ich obiges (und im Prinzip Jörgs Tipps) mit den "alten"
MySQL-Dateien, also nicht mysqli sondern normal mysql ausprobiere,
bekomme ich es hin. phpinfo() zeigt fett und breit zwischen libxml und
odbc mysql an...
Versteh einer das... Warum es mit mysqli nun nicht funktioniert??
Merkwürdig...
Karsten
Re: mysqli: PHP 5.1.6, MySQL 4.1.21 auf Windows XP
am 18.10.2006 16:53:38 von Karsten Wutzke
Ulf Kadner schrieb:
> Karsten Wutzke schrieb:
>
> >> allerdings geloest wird in dem PHP eine libmysql.dll mitbringt.
> >
> > Jo und die liegt im PHP root.
>
> Kopier die mal nach system32 (so wie in install.txt beschrieben)
>
Jetzt tuts. Mein Held!
Muss ich echt überlesen haben... sowas blödes wegen so was Banalem.
phpinfo zeigt nun mysqli an.
> > PS: Welche Option enabled auto error messages bei undefined references
> > zb?
>
> Was fürn Zeug?
>
> MfG, Ulf
Ähm, ich kann mich dran erinnern, dass der Server ne Fehlermeldung
ausgespuckt hat, sobald er eine "undefined reference bzw function"
gefunden hat. Einfach ein silent fail iss etwas blöd beim
Entwickeln...
DANKE vielmals für die Hilfe!
Karsten