Вопрос

Я играю с приложением PHP weblog, используя общий хостинг, как часть моего процесса изучения PHP.Поставщик услуг имеет типичную среду LAMP с удаленным доступом по ssh.

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

Мой опыт был в основном связан с C / C ++, Perl и некоторым программированием на CGI.Так что PHP - это очень освежающий опыт для меня :-)

В случае, если это имеет значение, приложение, с которым я играю, это Лицей, и у меня нет особого выбора в отношении самой среды LAMP.

Редактировать:Предпочитаемые инструменты свободного программного обеспечения :-)

Это было полезно?

Решение

Я предполагаю, что ваш хостинг-провайдер настроил свою установку PHP с отображение_ошибки выключен, и это хорошо.Вот почему вы видите пустые страницы.Таким образом, наиболее практичным решением на данный момент было бы иметь файл .htaccess, который включает его:

php_flag display_errors on

Вам также понадобится сообщение об ошибке до соответствующего значения:

php_flag error_reporting "E_ALL | E_STRICT"

В любом случае, не забудьте отключить эту функцию, прежде чем разрешать пользователям доступ к вашему веб-сайту.

Для предварительной отладки я бы рекомендовал Xdebug - Ошибка установленный на сервере с Затмение PDT или IDE NetBeans с поддержкой PHP как ваш редактор.Они оба являются хорошими клиентами для отладки, но я действительно сомневаюсь, что какой-либо провайдер установил бы Xdebug на свои действующие серверы.Таким образом, вы в значительной степени остаетесь с функциями ведения журнала, если у вас нет среды разработки.

Другие советы

Получение доступа к вашей собственной локальной среде разработки (например, через XAMPP) позволит вам установить XDebug.

PhpED позволил бы вам отлаживать не только его, но и среду PDT Eclipse.

Отслеживание ошибок и протоколирование через редактирование файла конфигурации php ini также является хорошим способом, особенно если вы можете управлять им для протоколирования информации.Кроме того, рассмотрите возможность добавления инструкций трассировки и использования FirePHP, например.

Лично я бы рекомендовал Джедай а не vim.Плагин SFTP позволяет вам редактировать (ну, загружать и сохранять) документы PHP непосредственно на сервере, а плагин PHPParser даст вам некоторое распознавание ошибок.

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

// Report all PHP errors
error_reporting(E_ALL);

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

Если вы получаете пустую страницу, это, вероятно, из-за неустранимой ошибки, с display_errors выключен.По умолчанию PHP будет регистрировать ошибки в Apaches error-log, но вы также можете настроить его на записывайте ошибки в отдельный журнал.

Для отладки вы также можете заглянуть в Xdebug.Это расширение может выполнять множество функций, включая интерактивную отладку.Вам понадобится клиент для использования отладчика, но есть плагин для vim, который делает это.

Попробуйте NuSphere PhpED

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top