![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 1.11.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witajcie...
Najpierw dane oprogramowania: php 5.0.2 Apache 2.0.46 MySQL 3.23.58 Po połączeniu ze stroną otrzymuję taki komunikat: Kod Fatal error: Call to undefined function mysql_connect() in C:\apache\htdocs\test.php on line 2 Baza danych działa w porządku, bo mogę w lini komend logować się, dodawać bazy, tabele itp. Możliwe, że coś jest nie tak skonfigurowane w php czy na Apache? (Brakuje jakiegoś modułu?) Oto kod źródłowy pliku php (wzięty zresztą z Manuala): Kod <?php $link = mysql_connect('localhost', 'phpuser', 'phppass') or die('Nie można się połączyć: ' . mysql_error()); print ('Połączenie nawiązane'); mysql_close($link); ?> W pliku php.ini aktywowałem bibliotekę php_mysql.dll... Niestety po uruchomieniu Apache wyskakuje okienko dialogowe z informacją: Cytat php Startup: Unable to load dynamic library 'C:\php\ext\php_mysql.dll' - Jeden z plików bibliotek potrzebnych do uruchomienia tej aplikacji nie może zostać znaleziony. Najlepsze jest to, że mam tę bibiliotekę php_mysql.dll w folderze C:\php\ext... ![]() ![]() Jeszcze raz ściągnąłem zestaw bibliotek dla php 5.0.2 ale dalej to samo... ![]() Ogłupieć można :-( Proszę o jakąś poradę jak rozwiązać ten problem. Pozdrawiam. -------------------- EnigmaCretu.Com >>
|
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, ze dopisuje sie do (dosc) starego tematu. Trafilem tu przeszukujac siec, by znalezc rozw. moich problemow. Moze kiedys komus pomoze to, co napisze, gdy bedzie szukal w sieci pomocy. Opisze 3 problemy, na ktore sie natknalem i sposoby, za pomoca ktorych je rozwiazalem. Zwiazane byly z instalacja MySQL'a i powiazania go z parserem PHP, w szczegolnosci z dolaczeniem biblioteki PDO. Do dziela!
Katalogi: Serwer Apache: C:\Program Files\Server\Apache2.2 Serwer MySQL: C:\Program Files\Server\MySQL5.0 Parser PHP: C:\Program Files\Server\PHP5 Moje strony: D:\www (domyslnie bylo c:\..Apache2.2\htdocs) ______________________________________________________ Blad podczas instalowania MySQL'a. Podczas uruchomienia programu Server Instance Configuration Wizard, po kliknieciu przycisku [execute] pojawia sie blad: Error:0 cannot create windows service for MySQL. Problem u mnie polegal na tym, ze juz wczesniej probowalem zainstalowac MySQL, jako skladnik pakietu Krasnal, jednak po deinstalacji go, usluga MySQL'a byla wciaz dostepna. Czy tak jest mozna sprawdzic nastepujaco: start->panel sterowania->narzedzia administracyjne->uslugi. Jesli na liscie jest juz MySQL, to nalezy go usunac. Mozna to zrobic podobno tak: start->Uruchom..., wpisac sc delete mysql, ale ja, zanim to poznalem, zrobilem inaczej: Uruchomilem start->uruchom...: regedit, w ktorym znalazlem: HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->MySQL i usunalem to. Po restarcie windowsa uslugi MySQL juz nie bylo. Wtedy mozna ponownie uruchomic Server Instance Configuration Wizard. ____________________ Wszystko juz zainstalowane, trzeba skonfigurowac. Blad: Fatal error: Class 'PDO' not found in D:\www\test\sql.php on line 15 Linia 15: $pdo = new PDO('mysql:host=localhost;port=3306;dbname=test','root','root'); Rozwiazanie: Nalezy (nie tylko do tego, ale, by uzywac mysql'a bez problemow w pliku php.ini napisac (a raczej odkomentowac przygotowane juz linijki): a ) extension=php_gd2.dll <-- nie wiem do czego to jest, chyba tu niepotrzebne extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo.dll extension=php_pdo_mysql.dll b ) Napisac: extension_dir = "C:/Program Files/Server/PHP5/ext" c ) W pliku httpd.conf (konfiguracja Apache'a) wpisac sciezke do pliku php.ini: PHPIniDir "C:/Program Files/Server/PHP5" Brak tych rzeczy widac uruchamiajac skrypt <?php phpinfo(); ?>: c ): Loaded Configuration File (none) b ): extension_dir C:\php5 (<-tak u mnie zareagowalo, czyli zle) Jesli nie ma c), to chyba wszelkie ustawienia w php.ini nie sa widoczne a ): nie wiem, jak to sie objawia w php_info(); ___________________________________ Blad: Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in D:\www\test\sql.php:15 Stack trace: #0 D:\www\test\sql.php(15): PDO->__construct('mysql:host=loca...', 'root', 'root') #1 {main} thrown in D:\www\test\sql.php on line 15 Linia 15: $pdo = new PDO('mysql:host=localhost;port=3306;dbname=test','root','root'); Blad: Call to undefined function mysql_connect() in D:\www\test\sql2.php on line 3 Linia 3: mysql_connect('localhost:3306', 'root', 'root'); Rozwiazanie: Zrobic tak, by plik libmysql.dll byl widoczny dla systemu. Sluzy do tego chyba zmienna systemowa PATH (jak do niej dodac sciezke do c:/...php5 - nie wiem). Zamiast tego mozna (nienajelegantsze rozwiazanie, ale ja tak zrobilem) wrzucic ten plik do np. c:/windows, albo do c:/windows/system32. Brak tego objawia sie (u mnie tak bylo) za pomoca skryptu <?php phpinfo() ?> nastepujaco: PDO support: enabled PDO drivers: no value <--- Ponadto z dolaczonym (jak powyzej) libmysql.dll pojawia sie ramka: > pdo_mysql > PDO Driver for MySQL, client library version 5.0.37, czego nie ma bez libmysql.dll. ................... Do badania, co jest nie tak, moze sie przydac skrypt: <?php $t=get_declared_classes(); foreach($t as $el) echo $el.'<br/>'; ?> Wyswietla m.in., (bez libmysql.dll lub z nia): PDOException PDO PDOStatement PDORow Jednak bez pliku libmysql.dll nie ma nastepujacych pozycji, ktore chyba powinny byc: mysqli_sql_exception mysqli_driver mysqli mysqli_warning mysqli_result mysqli_stmt _____________________________________________________ Uwaga: Po zmianach pamietac o restartowaniu serwera Apache. To by bylo na tyle. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:43 |