Jó reggelt!
Mitől lehet az, hogy a forrásból felrakott apache2.2.2 (ezekkel a kapcsolókkal fordítottam: ./configure --prefix=/usr/local/apache2.2.2 --enable-deflate --enable-mime-magic --enable-rewrite --enable-so --enable-ssl --with-mpm=worker --enable-mods-shared=all) és a forrásból felrakott php5.1.4 páros néha furcsa dolgokat produkál. Van mikor pl. a phpmyadminban ráklikkelek egy funkcióra (tartalom megmutatása egy táblának) és helyette inkább felkínálja, hogy letöltené azt a valami.php fájlt (teljesen üres ha letöltöm és megnyitom), viszont van olyan, mikor egy másik oldalon is felkínálja az oldal megjelenítése helyett, ott viszont rosszabb a helyzet, mert le is tölti az egész oldal forrását. Merre lehet a bibi szerintetek? És ezt teljesen véletlenszerűen produkálja. Az apache logjában semmi hasznos infó nincs. Az oprendszer egy Sarge.
Lenne itt még egy apróság. Ugyan ezen a gépen a phpinfo() -ban azt látom, hogy MySQL client version: 4.1.11 ez teljesen ok. De egy másik gépen amin szintén Sarge van, ott MySQL client version: 4.0.24. Ez most nem a legjobb, mer ezen is 4.1 -es mysql van. Korábban igaz volt 4.0, de az frissítve lett. Itt a php5.1.4 fordítása előtt feltettem a libmysqlclient4.1.11-dev csomagot, de nem tudtam rávenni, hogy a 4.1 legyen a mysqlclient a phpben. Fent van még korábbról a libmysqlclient12 csomag (nem a dev), de ha azt le akarom szedni akkor a courier-authmysql csomagot is szeretné leszedni, de ez kell, mert mysql alapú az imap és pop3 hitelesítés. Hogy tudnám megoldani hogy a php-be a 4.1 -es klienst fordítsa, használja?
Előre is köszönöm!
Laci
- 1414 megtekintés
Hozzászólások
Masodik reszhez: nezd meg a php mysql.so (ill. mysqli.so) fajljat ldd-vel, egyertelmuen kiderul melyik libmyclienthez linkel. Amugy >4.0 felett php-ban mar mysqli-vel celszeru hasznalni. (ps es total off: en pontosan ilyenek miatt tertem at gentoora, ott az eg adta vilagon minden, ami mysqlt hasznal a libmysqlclient16-tal van forgatva [5.0-as sql], nincsenek ilyen idiota keresztdependek, es istenkiraly:))
- A hozzászóláshoz be kell jelentkezni
A mysql.so fájl nincs, mert beleforgattam a phpbe és nem extensionként. Így nem tudom megnézni. Azt tudom, hogy a régi libmysqlclientet használja, de hogy tudnám rávenni fordításkor, hogy ne azt használja? Gázos lenne egy hosting szerver gentoora migrálása :)
- A hozzászóláshoz be kell jelentkezni
Akkor pedig a libphp5.so-ra eressz egy ldd-t. De forditaskor csak es kizarolag a 14-es dev csomagja legyen fent. Legjobban akkor jarsz, ha a configure kimenetet fileba is iranyitod, es make elott meggyozodsz, hogy jo sqlt talalt-e.
- A hozzászóláshoz be kell jelentkezni
Megcsináltam hogy a mysql.so extensionként töltődjön be. Az ldd mysql.so kimenete:
libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0xb7ede000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7da8000)
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7d7b000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7d67000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7d45000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7d33000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Ezen az látszik, hogy a libmysqlclient.so.14 van linkelve, ami a 4.1 mysqlclient, de phpinfo továbbra is azt írja, hogy 4.0, na most mi a rák van???
- A hozzászóláshoz be kell jelentkezni
"Az ldd mysql.so kimenete:"
ldd libphp5.so kell, ha azt szeretnéd megtudni, hogy a php-hez melyik van linkelve...
- A hozzászóláshoz be kell jelentkezni
mail:/usr/lib/apache2/modules# ldd libphp5.so
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7955000)
libc-client.so.2002edebian => /usr/lib/libc-client.so.2002edebian (0xb7898000)
libmhash.so.2 => /usr/lib/libmhash.so.2 (0xb7867000)
libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0xb7839000)
libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb7832000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb781d000)
libldap_r.so.2 => /usr/lib/libldap_r.so.2 (0xb77e7000)
liblber.so.2 => /usr/lib/liblber.so.2 (0xb77d9000)
libpam.so.0 => /lib/libpam.so.0 (0xb77d1000)
libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb77a4000)
libgd.so.2 => /usr/lib/libgd.so.2 (0xb7754000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb76e7000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7620000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0xb760f000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb75ea000)
libz.so.1 => /usr/lib/libz.so.1 (0xb75d8000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb75ba000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0xb75ab000)
libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7599000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7576000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7573000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb755f000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb754a000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb74e2000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb74bf000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb74bb000)
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0xb748a000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0xb738b000)
libcurl.so.3 => /usr/lib/libcurl.so.3 (0xb7359000)
libidn.so.11 => /usr/lib/libidn.so.11 (0xb7329000)
libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0xb7221000)
libnetsnmp.so.5 => /usr/lib/libnetsnmp.so.5 (0xb7185000)
libwrap.so.0 => /lib/libwrap.so.0 (0xb717c000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7075000)
libc.so.6 => /lib/tls/libc.so.6 (0xb6f40000)
libgnutls.so.11 => /usr/lib/libgnutls.so.11 (0xb6ed9000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb6eca000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6e9a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
libtasn1.so.2 => /usr/lib/libtasn1.so.2 (0xb6e89000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6e3c000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb6e38000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6e17000)
mail:/usr/lib/apache2/modules#
Ebből látszik, hogy elvileg jó, mert libmysqlclient14 -hez van linkelve. És néha az apache dob egy ilyet:
child pid 29763 exit signal Segmentation fault (11)
vagy
Segmentation Fault in 6509, waiting for debugger
esetleg
[error] an unknown filter was not added: INCLUDES
Merre tovább?
- A hozzászóláshoz be kell jelentkezni
Nekem egy apacsom fel evig segfaultolt mire eszembe jutott a memtest86(+)
Aztan szepen kicsereltem a RAMot es azota bekes minden.
- A hozzászóláshoz be kell jelentkezni
Nem hiszem hogy a ram lenne, más nem csinál hülyeséget. Na meg honnan szerezzek ECCs rambus memóriát :)? Azóta segfaultol, mióta a 4.0 MySQL helyett a 4.1 van és a php a 4.0 mysqlklienst akarja használni valamiért.
- A hozzászóláshoz be kell jelentkezni