![]() |
![]() ![]() |
![]() |
![]() ![]()
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: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
hmmm ja zawsze robie tak i dziala
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Cytat("install.txt") php_mysql.dll MySQL functions php >= 5.0.0, requires libmysql.dll (bundled) php_mysqli.dll MySQLi functions php >= 5.0.0, requires libmysqli.dll (bundled) Oznacza to, że musisz te pliki umieścić w jakimś folderze sprawdzanym podczas uruchamiania ( np. apache/bin lub windows/system32 ) -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 21.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zawsze musisz zrobić dwie rzeczy w pliku php.ini:
1. Wyszukać linię Kod ;extension=php_mssql.dll i usunąć znak ; z jej początku (czyli zwyczajnie odkomentować) 2. Ustawić ściężkę do katalogu w którym znajdują się rozszerzenia, czyli wyszukać linię Kod extension_dir = "" i przypisać jej ścieżkę do katalogu w którym znajdują się rozszerzenia PHP. To właśnie tam znajduje się m.in. plik php_mssql.dll. Zazwyczaj jest to podkatalog ./ext w katalogu głównym PHP. Wiele osób często odkomentowuje ładowanie dll-a do obsługi mysql-a zapominając o wcześniejszym ustawieniu ścieżki do katalogu z rozszerzeniami. To z kolei prowadzi ponownie do błędu: Kod Call to undefined function mysql_connect() .
-------------------- "Bądź realistą, żądaj rzeczy niemożliwych"
-------------------- Pozdrawiam, Adam Wencław PHP Programmer & SEO Specialist www.wenclaw.pl |
|
|
![]()
Post
#5
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
~adwen mylisz bazy, nie mssql.dll tylko mysql.dll
Ten post edytował webdicepl 21.06.2007, 23:20:49 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 19.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
gdzie szukać php.ini?
Mam na kompie kilka Apacheów i PHPów, i nie jestem pewien czy ten z C:\Windows działa wtedy, kiedy chciałbym (opisane kroki nie przynoszą rezultatu) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 8 Dołączył: 14.03.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Chciałem coś dorzucić może się komuś przyda. Otóż męczyłem się z tym samym problemem.
Po odpaleniu phpinfo() wyczytalem ze extension_dir = "C:\php5\" co było nieprawdą ponieważ katalog ext znajdował się w C:\serwer\php5\ext Zrozumiałem o co chodzi gdy zobaczylem ze w Loaded Configuration File jest ścieżka C:\WINDOWS\php.ini chociaż ten plik w ogóle nie istniał Rozwiązaniem było przekopiowanie php.ini do C:\WINDOWS\ Pozdrawiam -------------------- I need TP for my bunghole!!!
Mój nowy przyjaciel - tytanowa płytka na stałe ------------------------------------------------------ AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz |
|
|
![]() ![]()
Post
#8
|
|
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. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 5.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Bardzo pomocny post, tyle ze u mnie ciagle jest to call to undefined function mysql_connect() po wykonaniu zalecanych przez Ciebie czynnosci. Linijek
Cytat PDO support: enabled w phpinfo() nie mam. Jesliby ktos dal znak zycia bylbym wdzieczny. PDO drivers: no value <--- ![]() Ten post edytował diablohero 6.08.2008, 11:37:01 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 21.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja także miałem problem z błędem: Call to undefined function mysql_connect():
Moja konfiguracja była następująca: - zmienna środowiskowa PHPRC="c:\PHP" - czyli katalog główny php -w pliku httpd.conf serwera Apache dopisane linie: LoadModule php5_module "C:/PHP/php5apache2.dll" AddType application/x-httpd-php .php PHPIniDir "C:/PHP" -w pliku php.ini: extension_dir = "C:\PHP\ext" oraz odkomentowana linia: extension= php_mysql.dll Gdy restartowałem serwer pojawiał mi się komunikat mówiący że nie można załodować pliku "C:\PHP\ext\php_mysql.dll" - nie można odmnaleźć pliku. Komunikat pojawiał się mimo tego że plik o podanej nazwie znajdował się w podkatalogu \ext, więc wszystko powinno być w porządku. Rozwiązaniem okazało się skopiowanie plików: - php_mysql.dll ( z lokalizacji "C:\PHP\ext\") - libmysql.dll ( z lokalizacji "C:\PHP\") do katalogu systemowego C:\WINDOWS. Próbowałem przenieść powyższe pliki do tej samen lokalizacji, tzn. najpierw obydwa do "C:\PHP\ext\", a potem do "C:\PHP\" ze zmianą extension_dir na tą lokalizacje. Niestety nie przynosło to skutku, więc jedymym wyjściem okazało się przedstawione powyżej. Co ciekawe inne rozszerzenia ładują się bez problemu z "C:\PHP\ext\". Co prawda wszystko już działa ale męczy mnie to że te dwie biblioteki musiałem przenieść do głównego katalogu systemowego. Ma ktoś może pomysł co powoduje ten problem i jak go naprawić?? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie instalowalem sobie po raz kolejny Apache, MySql, PHP i aby nie popelniac starych bledow zajrzalem do tego tematu. Obecnie problem pliku libmysql.dll zalatwilem w ten sposob:
Start->Control Panel->System->karta Advanced->przycisk [enviroment variables]->obszar [system variables]->zaznaczyc Path->nacisnac [Edit] i dopisac sciezke do katalogu php (ze srednikiem oddzielajacym) - u mnie dopisalem ;C:\Program Files\php5 Musialem zrestartowac komputer (chyba dopiero wtedy zmiana zmiennej systemowej Path daje efekt). Teraz w <?php phpinfo(); ?> w tabeli Environment pole Path zawiera dodana sciezke. diablohero: sprawdz, czy odkomentowales odpowiednie rozszerzenia. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 15.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
witam serdecznie użytkowników!!;D Z góry przepraszam jeżeli to niewłaściwy dział, ale posty w tym temacie pomogły mi rozwiązać wcześniejsze problemy, za co dziękuję!;D
moja specyfikacja: - Apache 2.4.3 - Php 5.4.6 - MySQL 5.5.28 a wszystko pracuje na Windows 7 Problem polega na tym, że po odpaleniu skryptu: CODE <?php $connect=@mysql_connect('localhost', 'root', 'hasło, które podałeś przy instalacji')or die('Blad!: ' . mysql_error()); print ('Połączenie nawiązane'); mysql_close($connect); ?> Php wypluwa bląd: Access denied for user 'root'@'localhost' (using password: YES) a z command line mogę sie normalnie polączyć z MySQL i tworzyc baze danych komendami SQL. Czy ktoś miał podobny problem i może pomóc?? serdeczne dzięki!!;D Ten post edytował CriS182 15.10.2012, 13:03:29 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
"hasło, które podałeś przy instalacji"
Naprawdę masz zamiast hasła ten tekst czy może jednak wpisałeś tam hasło? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 15.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
![]() ![]() ![]() glupota ludzka nie ma granic!! przepraszam za siebie. Wpisałem tam hasło podane przy instalacji MySQL server i wszystko działa poprawnie!!;D wypluło: "Polaczenie nawiazane". Jestem początkujący i obiecuje przeczytać teraz dział Przedszkole i następne pytania zadawać na odpowiednim poziomie!! Dzięki nospor!!;D |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 26.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
No dobra też mam problem z tym komunikatem.
Wpisuję kod: Kod mysql_connect('localhost', 'user', 'haslo')or die('Nie można się połączyć: ' . mysql_error()); print ('Połączenie nawiązane'); mysql_close(); no i pojawia się wyżej wspomniany błąd. Czy można jakoś prawdzić poprawność instalacji i integracji z php i apachem? Dodam, iż do mysql loguję sie bez problemu i nawet moge tworzyć bazy i tabele. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Wchodzimy na stronę dokumentacji: http://php.net/manual/en/function.mysql-connect.php
2. Czytamy co zostało napisane w wielkim czerwonym polu. 3. Stosujemy się do tego co zostało tam napisane. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 26.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Użyłem mysqli_connect
Kod $link = mysqli_connect("localhost", "admin_baza", "haslo_baza", "baza"); if (!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; exit; } echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; mysqli_close($link); No i nadal to samo. Dodam jeszcze, że pracuję na komputerze firmowym, na którym nie mam praw administratora. Serwer, php i mysql instalował firmowy informatyk więc nie wiem co i jak istalował. Dlatego zależy mi na tym aby dowiedzieć się jak sprawdzić czy wszysko jest poprawnie zainstalowane. Ten post edytował Elandir 13.11.2015, 08:04:52 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wyświetl sobie phpint(); i szukaj Mysqli,PDO
I wołaj informatyka ![]() |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 26.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Skoro to nie ty instalowales, to skad wiesz ze uzywasz poprawnych danych takich jak user czy haslo?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.04.2025 - 10:15 |