Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Vask0 в Mar 21, 2016, 20:00



Титла: Показване къде точно е грешката.
Публикувано от: Vask0 в Mar 21, 2016, 20:00
Здравейт искам да  разбера как мога да направя  на  .php  файл да излиа на кой ред е объркан

примерно като този линк  http://myimot.com/login.php ($2)   който покава къде точно е грешкава на php файла


А тук.. линк показва, че има  грешка 500 но не обособява къде точно се намира тя   http://allsof7.com/orlin/login.php ($2)  дава  server error500  или  бял екран.  как мога това да го направя като горното!!!


Титла: Re: Показване къде точно е грешката.
Публикувано от: runtime в Mar 21, 2016, 20:20
tail -f /var/log/apache2/error.log

или

ini_set('display_errors',1);
error_reporting(-1);


Титла: Re: Показване къде точно е грешката.
Публикувано от: Vask0 в Mar 21, 2016, 20:50
при първата  команда ми излиза  следното

Код:
root@Server:~# tail -f /var/log/apache2/error.log
[Sun Mar 20 06:31:21.451429 2016] [:notice] [pid 1364] mod_bw : Memory Allocated 0 bytes (each conf takes 36 bytes)
[Sun Mar 20 06:31:21.451497 2016] [:notice] [pid 1364] mod_bw : Version 0.92 - Initialized [0 Confs]
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/suhosin.so' - /usr/lib/php5/20131226/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Sun Mar 20 06:31:21.562075 2016] [mpm_prefork:notice] [pid 1364] AH00163: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Sun Mar 20 06:31:21.562116 2016] [core:notice] [pid 1364] AH00094: Command line: '/usr/sbin/apache2'

така ли трябва да е?


Титла: Re: Показване къде точно е грешката.
Публикувано от: runtime в Mar 22, 2016, 09:14
Ами като начало не може да ти намери модула suhosin. Може да го коментираш в php.ini или да го инсталираш, ако е необходим. Въпреки, че това е Warning и ме съмнява да прави проблеми, сложи в index.php другите редове, които ти писах веднага под <?php и виж какво ще ти върне като грешка във браузъра. Като цяло 500 може да връща поради много причини, като например да са ползвани "short tag", а да не е зареден модула, грешка в htaccess, некоректни права на скриптовете и т.н.


Титла: Re: Показване къде точно е грешката.
Публикувано от: neter в Mar 22, 2016, 10:32
при първата  команда ми излиза  следното
Изпълни командата веднага след опита за зареждане на страницата, която изкарва грешка 500, или я изпълни преди зареждането, но не прекъсвай изпълнението ѝ, преди да си заредил страницата, след което покажи изхода ѝ. Текущо се виждат само редове от включването на apache сървъра, но не и от опита за зареждане на страницата.

По първия въпрос, това са два вида грешки, дължащи се на много различни неща - няма как съобщението за тях да е еднакво. При грешката, която изписва реда в кода, стигаш до изпълнение на PHP кода, и интерпретатора може да ти каже какво не му харесва. При грешка 500 въобще не стигаш до четене на PHP кода или изпълнение на интерпретатора, така че няма как да ти се върне грешка за ред в код, който не е изпълнен, от нещо, което не работи.