Как отлаживать скрипты php на стороне сервера? В ситуации клиентская страница не отображает ответ

Я сейчас тестирую скрипт на своем хосте. Этот скрипт должен принимать данные IPN PayPal, выполнять несколько вещей (например, проверку данных), отправлять необходимые данные на определенный адрес электронной почты и многое другое.

Я использую тестовый инструмент на сайте PayPal для отправки тестовых данных на мой скрипт. Мой скрипт не работает: должен быть выпущен код, но я не вижу ошибки. Инструмент тестирования в PayPal просто делает сообщение и, похоже, не принимает никакого ответа. Я хочу посмотреть, что произошло в моем скрипте, чтобы я мог это исправить. Как я могу получить сообщения об ошибках, которые выводят мои сценарии?

Есть идеи?

Лучшим подходом было бы записывать ошибки в файл, а не в «экран». Если вы внесете изменения в сервер, вероятно, будут затронуты другие сайты на сервере.

  • log_errors = On
  • display_errors = Off
  • error_log = /tmp/php.log (или лучший путь по вашему выбору; возможно, файл должен быть доступен для записи Apache / webserver).

Если все это не выполнено, установите xdebug и попробуйте отладить код – вы можете проходить по строкам и проверять переменные по своему усмотрению – возможно, это даст вам лучшую идею.

В противном случае прибегаем к var_dump () и друзьям.

Не уверен, что вы уже тестировали это (поставили в самом начале вашего PHP-скрипта):

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

если он не отображается, попробуйте его с помощью .htaccess (если на Apache):

 php_flag display_errors on php_value error_reporting -1 

с этим вы должны получить свою ошибку. Если нет, попробуйте свои серверные журналы или если это все равно не поможет, попробуйте echo некоторые контрольные значения, чтобы найти, где он сбой …

Разумеется, это только для цели отладки, и вы должны отключить ее при производстве.

В таких случаях вы должны увидеть, что печатает массив $_POST в консоли. Попробуйте использовать следующий код в самом начале вашей страницы после инициализации со всеми необходимыми конфигурациями: –

 <?php // include all required configurations // if needed, include the header file also echo '<pre>'; print_r($_POST); // for viewing it as an array var_dump($_POST); // for viewing all info of the array echo '</pre>'; die(); // other HTML or PHP Logic follows ?> 

Если это не сработает, вам нужно будет поместить некоторые точки останова, поместив некоторые операторы « exit » после некоторого кода каждый раз и затем, и медленно выполняйте как можно больше кода поэтапно.

Надеюсь, поможет.

используйте файлы журнала, а затем прочитайте их.

В основном в начале скрипта открываем файл, а затем в разных точках кода выгружаем некоторые переменные в этот файл, тогда вы можете пройти через этот файл и проверить результат, и таким образом вы можете увидеть, что не так с вашим скриптом

Вы можете использовать (по возможности локальный) веб-сервер, который включает, скажем, PHP вместе с xdebug . Некоторые предварительные установки, такие как UwAmp или USBWebServer, будут выполняться при отладке в Windows.