Автор Тема: Показване къде точно е грешката.  (Прочетена 1565 пъти)

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Здравейт искам да  разбера как мога да направя  на  .php  файл да излиа на кой ред е объркан

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


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

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: Показване къде точно е грешката.
« Отговор #1 -: Mar 21, 2016, 20:20 »
tail -f /var/log/apache2/error.log

или

ini_set('display_errors',1);
error_reporting(-1);
Активен

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Re: Показване къде точно е грешката.
« Отговор #2 -: 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'

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

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: Показване къде точно е грешката.
« Отговор #3 -: Mar 22, 2016, 09:14 »
Ами като начало не може да ти намери модула suhosin. Може да го коментираш в php.ini или да го инсталираш, ако е необходим. Въпреки, че това е Warning и ме съмнява да прави проблеми, сложи в index.php другите редове, които ти писах веднага под <?php и виж какво ще ти върне като грешка във браузъра. Като цяло 500 може да връща поради много причини, като например да са ползвани "short tag", а да не е зареден модула, грешка в htaccess, некоректни права на скриптовете и т.н.
« Последна редакция: Mar 22, 2016, 09:16 от runtime »
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Показване къде точно е грешката.
« Отговор #4 -: Mar 22, 2016, 10:32 »
при първата  команда ми излиза  следното
Изпълни командата веднага след опита за зареждане на страницата, която изкарва грешка 500, или я изпълни преди зареждането, но не прекъсвай изпълнението ѝ, преди да си заредил страницата, след което покажи изхода ѝ. Текущо се виждат само редове от включването на apache сървъра, но не и от опита за зареждане на страницата.

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

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти