Разница в запуске PHP из Eclipse и при размещении - PullRequest
0 голосов
/ 30 марта 2010

Я пытаюсь использовать NuSoap в PHP 5.3. Когда я отлаживаю свой сценарий в Eclipse, я получаю много устаревших предупреждений, но сценарий все еще выполняется, однако, когда я вызываю сценарий через Apache на моем локальном хосте, сценарий завершается без объяснения причин. Я пока еще не являюсь веб-разработчиком, и, будучи в некотором роде нубом, я не могу понять, почему он будет работать на той же машине во время отладки, но не через Apache. Каковы возможные причины, по которым скрипт запускается в Eclipse, но не запускается, когда я вызываю его, скажем, из браузера. Кроме того, когда сценарий завершается с ошибкой вне отладчика, выдает ли он где-то какие-либо журналы или данные отладки, и если да, то как я могу найти это?

Ответы [ 2 ]

0 голосов
/ 30 марта 2010

PHP имеет несколько директив, которые определяют поведение сообщений об ошибках. Наиболее важные из них:

Первый устанавливает серьезность сообщения об ошибках: вы можете указать PHP предупреждать о каждой возможной проблеме, предупреждать только о фатальных ошибках и т. Д. Второй указывает PHP отображать сообщения об ошибках на экране или нет. Эти параметры не жестко запрограммированы: они могут быть установлены во время выполнения.

См. Также log_errors .

Что касается того, как изменить эти параметры, вы всегда можете изменить их для всей системы, если у вас есть доступ к основному файлу php.ini. Также возможно изменить их для каждого сайта, но точный механизм зависит от того, как PHP взаимодействует с веб-сервером. Если он работает как модуль Apache (обычная настройка), вы можете использовать файл .htaccess.

Вы найдете много информации здесь: http://www.php.net/manual/en/configuration.php

0 голосов
/ 30 марта 2010

Вероятно, это приводит к фатальной ошибке, но у вас отключен display_errors на вашем производственном сервере (как вы должны), поэтому он не будет выводить ошибки в html, как будет ваша версия для разработки. Проверьте в своем php.ini местоположение журнала ошибок или попросите администратора сервера указать вам правильное направление. Вам потребуется доступ к серверу на уровне файлов или панель управления, которая будет отображать его для вас.

Кроме того, вы можете включить display_errors в файле .htaccess, локальном только для этого приложения.

php_flag display_startup_errors on
php_flag display_errors on

Или, если отображение ошибок не является опцией, и вы не можете получить доступ к вашему файлу журнала, вы можете установить свой журнал ошибок в другое место, если он доступен для записи apache:

php_flag  log_errors on
php_value error_log  /absole/path/to/a/writable/directory/php_errors.log
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...