Autor Zpráva
LOAP
Profil *
Dobrý den,

Nainstaloval jsem si ručně Apache 2.2, PHP 5 a Mysql 5.1.

Bohužel se mi nedaří rozjet databázi.
Hází mi to takovou chybu:

Fatal error: Call to undefined function MySQL_Connect() in .....

Přitom v souboru php.ini mám odkomentované knihovny.
(extension=php_mysql.dll....)
Předem díky za odpověd, jsem začátečník.
Davex
Profil
Restartoval jsi po úpravě konfiguračního souboru Apache?
LOAP
Profil *
Ano, restartoval.
Ještě dodám, nainstaloval jsem si adminer a ten mi hlásí takovouhle chybu : "Není dostupná žádná z podporovaných PHP extenzí (MySQLi, MySQL, PDO_MySQL)."


A tady je syntaxe ukládání knihoven v php.ini

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/web/prog/php5/ext/"

(v souboru php5 se nacházají soubory php, překvapivě)
Davex
Profil
PHP možná používá jiný konfigurační soubor php.ini než jaký upravuješ. Zkontroluj si ve výpisu phpinfo() řádek Loaded Configuration File.
LOAP
Profil *
PHP načítá konfigurační soubor php.ini

Kdyžtak je zde Screen.
LOAP
Profil *
Bude chyba ve zdrojovém kodu php.ini?
Můžu ukázat zdroják, zda-li bude potřeba...
Kajman
Profil
Jiné změny (např. změna short_open_tag) provedené v php.ini se v phpinfo projeví?
LOAP
Profil *
Zkusil jsem to a změny se projevily.
(Výchozí nastavení short_open_tag bylo off, když jsem změnil v konfiguračním souboru php.ini na on, tak se v tabulce (phpinfo) ukázalo on)
LOAP
Profil *
Ještě poznámka pod čarou,

kdysi jsem používal balík EasyPHP, myslíte, že to nějak ovlivnilo knihovny .dll nebo něco podobného?
Alphard
Profil
Zjistěte, kde májí být podle php.ini dll knihovny rozšíření (klíč extension_dir) a podívejte se, jestli tam jsou.

Měnil jste to php.ini ještě nějak významně jinak?
LOAP
Profil *
Knihovny jsou na správném místě.
Uploadnul jsem zdroják php.ini - snažil jsem se extrahovat pouze důležité syntaxe (smazal komentáře atd), snad to bude přehledné.
http://pastebin.com/YuFQ0P9X


Dokonce jsem ještě zkoušel překopírovat všechny .dll z ext do System32 - a ani to nepomohlo.
Davex
Profil
LOAP:
Ostatní rozšíření se načtou? Připadá mi, že jich je určeno k načtení příliš mnoho. Zkus to pouze se samotným php_mysql.dll. Také by mohl napovědět systémový a aplikační log, zda si PHP při startu na něco nestěžuje.
LOAP
Profil *
Log?
Máte na mysli Apache log?
ten mi při spuštění mysql hází toto:
[Wed Jun 06 19:25:10 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function MySQL_Connect() in C:\\web\\www\\Mysql\\adminer.php on line 6

samotným php_mysql.dll Tím je myšleno, že ostatní .dll v php.ini vykomentuju?
Davex
Profil
LOAP:
Máte na mysli Apache log?
Myslel jsem logy ve Windows: Start » Run... » compmgmt.msc (Computer Management) » System Tools » Event Viewer » Application a System » červené (chyby) a žluté (varování) ikony (nevím, jak to přeložili do češtiny). Mělo by se prohlédnout, zda tam nejsou nějaké chyby při načítání chybějících knihoven.

Tím je myšleno, že ostatní .dll v php.ini vykomentuju?
Ano, středníkem na začátku řádků.
LOAP
Profil *
Hodilo mi to takovouhle výstrahu


Ještě jsem našel tyto warningy:
http://i48.tinypic.com/4ugwmq.jpg
http://i50.tinypic.com/17a2ag.png


Ale ty chyby budou asi na základě toho, že ty .dll knihovny neexistujou ne?
Davex
Profil
LOAP:
Tipl bych si, že tyto chyby budou způsobeny špatně nastavenými právy v adresáři, kam se snaží MySQL server zapisovat a s nenačítáním rozšíření mysql do PHP by to nemělo souviset.

Ještě zkus restartovat počítač. Někdy to pomáhá.
LOAP
Profil *
Davex:

Našel jsem ještě 4 výstrahy, snad možná pomůžou k vyřešení problémů.
http://i46.tinypic.com/29lfm2c.png
http://i48.tinypic.com/fmqs2a.png
http://i49.tinypic.com/2rfpl3k.png
http://i46.tinypic.com/ndwiut.png
Davex
Profil
LOAP:
Chyby z logu jsou od MySQL serveru a s PHP nesouvisí.

Ale ty chyby budou asi na základě toho, že ty .dll knihovny neexistujou ne?
Ano, asi neexistují knihovny rozšíření v adresáři C:\web\prog\php5\ext nebo má tento adresář špatně nastavená práva a Apache se k nim při startu nedostane.

Zopakuji tedy znova otázku na kterou jsi neodpověděl. Ostatní rozšíření se načtou?
LOAP
Profil *
Davex:
Omlouvám se, že jsem neodpověděl
Já jsem asi nepochopil, co jste myslel touhle otázkou "Ostatní rozšíření se načtou?"
Jak mám zjistit, zda se ostatní rozšíření načtou?


Tak třeba, když zkouším napsat tuhle syntaxi od sqlite

<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Tak mi to hodí fatal error undefined sqlite_array_query...
LOAP
Profil *
Davex:
"Ještě zkus restartovat počítač. Někdy to pomáhá."

Zkoušel jsem několikrát restartovat pc, ale bohužel to nepomohlo.
Alphard
Profil
LOAP:
Jak mám zjistit, zda se ostatní rozšíření načtou?
Zkuste třeba gd knihovnu imagecreatetruecolor().

Zakomentovat ostatní extensions a nechat jen něktré jste zkoušel?
LOAP
Profil *
Alphard:
zkusil jsem zminovanou funkci - ta funguje, avšak pod vykomentovaní této knihovny extension=php_gd2.dll , už nefunguje.
Davex
Profil
LOAP:
Jak mám zjistit, zda se ostatní rozšíření načtou?
Z výpisu phpinfo().
LOAP
Profil *
Davex:
"Z výpisu phpinfo()."

Smím se zeptat, jak se jmenuje daná položka, kde je to napsané? Obtížně se v tom orientuju.
Davex
Profil
Většinou tam mají rozšíření vlastní tabulku se jménem rozšíření v nadpisu. Stačí trochu hledat.

Ti, co se v tom nevyznají, si mohou vypsat přehled nahraných rozšíření pomocí skriptu

<?php
  print_r(get_loaded_extensions());
?>
LOAP
Profil *
Davex:
Zasílám screen přehled rozšíření vypsané pomocí funkce: http://i49.tinypic.com/24v4i6s.png
LOAP
Profil *
Už jsem konečně zprovoznil MYSQL :)

Děkuju moderátorům za pomoc
Davex
Profil
Čím to bylo a co pomohlo?
LOAP
Profil *
Změnil jsem proměnné prostředí přes ovládací panely/Systém/Upřesnit/Proměnné prostředí - PATH
místo C:\web\prog\php5
jsem změnil na ;C:\web\prog\php5

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: