Apache2

Helyi hálózaton ezek működnek:

  • http//foo/1.php
  • http//foo/2.php

Ez az egy viszont nem:

  • http//foo/3.php

Egész nap ezt az utóbbit frissítgettem.

error:

[Mon Apr 16 00:11:31 2012] [error] [client 127.0.1.1] File does not exist: /home/jozsef/.localhost/foo/favicon.ico
[Mon Apr 16 00:11:32 2012] [error] [client 127.0.1.1] File does not exist: /home/jozsef/.localhost/foo/favicon.ico

access:

127.0.1.1 - - [16/Apr/2012:00:21:12 +0200] "GET /3.php HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0"
127.0.1.1 - - [16/Apr/2012:00:26:44 +0200] "GET /3.php HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0"

Mi lehet a probléma?

Hozzászólások

200, azaz kiszolgalta.

php error log mit mond? (Az kulon fajl)

php -l fajlnev mit mond?

root@sos:/home/jozsef/.localhost/foo# php -l 3.php
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
No syntax errors detected in 3.php

/var/log/apache2/error.log:

[Mon Apr 16 00:43:05 2012] [notice] caught SIGTERM, shutting down
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/apache2/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Mon Apr 16 00:43:06 2012] [notice] Apache/2.2.14 (Ubuntu) configured -- resuming normal operations

Hiányzik a /usr/lib/php5/20090626+lfs/msql.so fájl. Honnan tudom letölteni?

Le kek forditani.

Kell neked az msql?

Mer' amugy warning csak, tuleled nelkule.

De van kulon PHP ERROR fajl is.... altalaban...

(Szerk: nyilvan php.ini (ill. ha az syslogra van allitva, akkor a syslog) beallitasaitol fugg, hirtelen passzolom, az aktualis ubi hogy allitja be)

Mit csinal a 3.php ugy nagyjabol?

Az apache kiszolgalja, 256 byte-nyi adattal, tehat mindenkepp a php kododban lesz baj.

/etc/apache2/sites-available/foo:

ErrorLog /home/jozsef/.localhost/foo/.error
CustomLog /home/jozsef/.log/foo combined

/home/jozsef/.localhost/foo/.error:

[Mon Apr 16 00:11:31 2012] [error] [client 127.0.1.1] File does not exist: /home/jozsef/.localhost/foo/favicon.ico
[Mon Apr 16 00:11:32 2012] [error] [client 127.0.1.1] File does not exist: /home/jozsef/.localhost/foo/favicon.ico

/home/jozsef/.log/foo:

127.0.1.1 - - [16/Apr/2012:00:21:12 +0200] "GET /3.php HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0"
127.0.1.1 - - [16/Apr/2012:00:26:44 +0200] "GET /3.php HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0"

/var/log/apache2/error.log:

[Mon Apr 16 00:43:05 2012] [notice] caught SIGTERM, shutting down
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/apache2/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Mon Apr 16 00:43:06 2012] [notice] Apache/2.2.14 (Ubuntu) configured -- resuming normal operations

Hol van még napló? Csak a fentieket ismerem.

/etc/php5/apache2/php.ini:

extension = msql.so

- Mit csinal a 3.php ugy nagyjabol?
- Egy *.csv fájlt tölt le a file_get_contents függvénnyel és feldolgozza azt a str_getcsv függvénnyel. Másik kiszolgálón működik, csak helyi hálózaton (localhost-on) nem.

[Mon Apr 16 00:11:31 2012] [error] [client 127.0.1.1] File does not exist: /home/jozsef/.localhost/foo/favicon.ico

szempontodbol lenyegtelen

127.0.1.1 - - [16/Apr/2012:00:21:12 +0200] "GET /3.php HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0"

Ez azt jelenti, nem az apache-ban van a hiba, es nem is a webkitek hulye cache-elese marhaskodik veled

[Mon Apr 16 00:43:05 2012] [notice] caught SIGTERM, shutting down

Ez azt jelenti, restartoltad az apache-ot

PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/apache2/conf.d/mcrypt.ini on line 1 in Unknown on line 0

Ez reszedrol semmit nem jelent.

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Ez azt jelenti, a php.ini-ben ki kene kommentezned egy sort,de a mukodesre nincs kozvetlen hatassal.

[Mon Apr 16 00:43:06 2012] [notice] Apache/2.2.14 (Ubuntu) configured -- resuming normal operations

Ez azt jelenti, a restartolt apache elindult.

extension = msql.so

Ezt a sort kene kikommentezni.

error_log direktiva mire van allitva?

/etc/php5/apache2/php.ini:

error_log = php_errors.log
display_errors = On

Nem hozza létre a php_errors.log fájlt és a képernyő is üres.

root@sos:/home/jozsef# /etc/init.d/apache2 restart
* Restarting web server apache2
... waiting [ OK ]
root@sos:/home/jozsef# find / -name php_errors.log
root@sos:/home/jozsef#

- kovess el szandekos hibat, valahova csak letrejon...
Létrejön, ha nem a 3.php fájlban van a hiba. Töröltem a fájlt, majd létrehoztam újra egy egyszerű PHP kóddal és azzal se történik semmi, ha hibás, ha nem. Még nem találkoztam ilyen problémával. Az nem lehet, hogy az Apache2 megjegyezte magának ezt az elérési utat és blokkolja valamiért?

- Esetleg a CSV megnyitasa elott nincs egy @ jel?
- Nincs.

- RewriteRule jatszhat kozre, de akkor joesellyel nem 3.php-nak hivjak.
- Nincs .htaccess fájl és a(z) /etc/apache2/sites-available/foo fájl se tartalmaz ilyesmit.

- Ill.olyan lehet,hogy a 3.php-n valamiert futtathatosagi jog van (vagy pont hogy nincs), es meg van tiltva a rendszernek hogy olyan fajlokat megnyisson.
- Próbáltam már mindent a chmod paranccsal, ha erre gondolsz.

- A fajl neve _konkretan_ 3.php?
- Igen.

Holnap 14:00-ig van hozzáférésem a géphez. A munkát betudtam fejezni határidőre mert a 3.php fájlt átneveztem és így nincs probléma, de azért érdekelne, hogy mi lehet ez. A fájlt egyébként rengetegszer frissítettem és csak egy idő után halt meg.

Hat ha ez a gep szerverkent van feltelepitve, akkor bennragadhatott apc-ben vagy ecache-ben egy regi valtozata esetleg, ezek php gyorsitomodulok, a konkret php lefuttatasa helyett egy felig leforditott (bytecode) fajlt vesznek elo.

De ezeket azert a fajl torlese, ujboli letrehozasa, apache ujrainditasa stb ki szokta uriteni.

Fajlnev alapu fuggese ezen kivul a rewrite rule-oknak lehet, a chain az, hogy
- lefutnak a rewrite rule-ok, kijon a vegere, melyik fajlt kell megnyitni
- ha nincs fastcgi, akkor megyunk tovabb, amugy picit jatszunk
- lefut a tipuskezelo, ez alapjan megallapitast nyer, hogy a fajl specialis, a php interpretermodulnak (mod_php) kell megnyitnia, igy a halozati kimenet kezelese mint valami megnyitott fajlpointer atadodik
- intrerpretermodul megkapja azokat a dolgokat, ami, az _SERVER-ben szoktak szerepelni.
- Ezek alapjan, ha a runtime optimizalo runtime,akkor fajlnev alapjan megnezheti a cache-ben,kesz van-e mar
- Ha nincs, leforditja a php-t
- lefuttatja, ami az stdoutra megy, az kerul ki...