ugrás a tartalomhoz

Undefined function mysql_connect()

mdesign · 2007. Jan. 22. (H), 16.28
Sziasztok!

Sok guglizás után a Ti segítségeteket kérném.

A szerveren PHP 5.2.0 és MySql 5.0.22 van.
A kapcsolat tökéletesen működik a kettő között.

CakePHP-ban szeretném beüzemelni az ACL-t, de ha meghívom parancssorból a
php acl.php initdb
parancsot akkor ezt írja ki:
Fatal error: Call to undefined function mysql_connect() in \cake\libs\model\dbo\dbo_mysql.php on line 102
Kipróbáltam, és csak a mysql-el kapcsolatos fv-k nem elérhetők az osztályból.
odbc_connect pl megy. mysql_connect, mysql_list_fields egyáltalán nem...

Volt már valakinek ilyen tapasztalata?

Üdv K
 
1

cmd parancs

mdesign · 2007. Jan. 22. (H), 16.33
lefuttattam a következőt és ezt adta vissza:
\cake\scripts>php --rf mysql_connect
Exception: Function mysql_connect() does not exist
Továbbra sem értem, hogy mitől lehet, hiszen az oldalaim használnak mysql-t és tökéletesen működik mind.

:/
2

MySQL extension

janoszen · 2007. Jan. 22. (H), 16.36
Nincs jól föltelepítve a MySQL extension vagy MySQLi van fönt. Gyanítom, hogy az utóbbi.
3

fent van mind2

mdesign · 2007. Jan. 22. (H), 16.55
Egyik üti a másikat?

Zárójelben megjegyzem mind2-t állítottam már a cakephp database.php-jába, de egyikkel sem ment.
5

Biztos jó a kapcsolat?

janoszen · 2007. Jan. 22. (H), 17.08
Azt írod a nyitó bejegyzésben, hogy jól működik a kapcsolat. Ezt hogy tesztelted le? Egy sima mysql_connect parancsot ki kellene adni, megnézni, mit csinál.

Ez a hibaüzenet általában annak a jele, hogy nincs fönt a PHP MySQL extensionje vagy nincs rendesen beállítva. Nézd meg a hibalogokat és ilyesmit, hogy tényleg rendesen elindult-e.
4

extension_dir

mdesign · 2007. Jan. 22. (H), 17.07
Próbálgatom a cmd-ben állítgatni a modult és ezt írja ki:
\cake\scripts>php -d extension=php_mysql.dll
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_mysql.dll' - A megadott modul nem talßlhatˇ. in Unknown on line 0
Próbáltam létrehozni a könyvtárat, bemásolni a dll-t, de úgy sem sikerült.

Rákerestem fájlokban az egész webes könyvtáramban a "C:\php5" stringre és a következő helyeken találta meg:
webservices\php4\PEAR\go-pear.php
webservices\php4\install.txt
webservices\php\php5ts.dll
webservices\php\install.txt
webservices\php\ext\php_mime_magic.dll
webservices\mysql\guitools\php5ts.dll
webservices\logs\php_error.log
webservices\Apache2\bin\php5ts.dll
6

php_mysql.dll

janoszen · 2007. Jan. 22. (H), 17.09
Ezt a DLL-t külön le kell tölteni, nincs benne alapból sem az apacsban sem a PHP-ben.
7

A dll megvan

mdesign · 2007. Jan. 22. (H), 17.25
Mostmár finishben vagyok.

A probléma az, hogy a php.ini-t a c:\windows\ könyvtárból veszi, ha a command line-ból indítom.
Miután bemásoltam a php.ini-t, újraindítottam a szervert és minden okés.

De valahogy jó lenne rávenni, hogy az eredeti helyéről olvassa be. (ne két helyen kelljen tárolni)
8

windows?

lacy · 2007. Jan. 22. (H), 17.51
én nemrég telepítettem legújabb apache php mysql konfigurációt xpre, ott is ez a hiba jelent meg ám a php.ini fájlt nem kereste a windows mappában, mert a php telepítője hozzáadta a PATH változóhoz a php mappa elérési útvonalát amiben a php.ini van. a php úgy telepítésekor kiválasztottam a mysql extensiont.

a megoldás -nálam- a PHP mappájának gyökerében lévő php_mysql.dll bemásolása a windows/system32-be.

hajrá,
ui: apache restart
9

nem megy

mdesign · 2007. Jan. 22. (H), 17.58
A környezeti változókkal én is próbáltam már, de nem reagált rá.

Kipróbáltam amit te csináltál, de nálam nem segített...

Egyelőre marad így...
10

még egy kis acl

Sulik Szabolcs · 2007. Jan. 24. (Sze), 14.37
Szia

Hasonló gondokkal küzdök. Viszont mint mindenre, erre is van megoldás.

Szóval alapvetően a CakePHP Acl dokumentációja sz*r. Itt utánaolvashatsz a témának egy sokkal jobb leírásban.

Sok sikert.

UI.: nem tudom, hogy az authentikációt megcsináltad-e. Ha nem akkor ajánlom a dAuth-ot. Nagyon ütős.