Ошибки синтаксиса PHP - PullRequest
       18

Ошибки синтаксиса PHP

1 голос
/ 10 сентября 2009

PHP-сервер моего провайдера теперь возвращает

500 - Внутренняя ошибка сервера. Возникла проблема с ресурсом, который вы ищете, и он не может быть отображен.

На том, что я считал действительным php, т.е.

if ( $_REQUEST[ 'some_data' ] == null )
{
  echo "<p>No data</p>";
}
else
{
  echo "<p>Some data</p>";
}

Я попытался включить сообщение об ошибке с помощью

error_reporting(E_ALL);
if (!ini_get('display_errors')) 
{
  ini_set('display_errors', "stderr");
}

Так что, пока я могу заставить мой код работать, заключив все проверки значений в массивы с

if ( isset( $_REQUEST[ 'some_data' ] ) )
{
  // ... do stuff
}

Я не понимаю, и дианогнуаз ошибок сейчас занимает очень много времени. Кто-нибудь может дать мне подсказку, что происходит?

Ответы [ 3 ]

1 голос
/ 10 сентября 2009

Ошибка не в вашем скрипте PHP, но, возможно, где-то в конфигурации вашего веб-сервера (.htaccess?) Или пути или имени файла, к которому вы пытаетесь обратиться.

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

0 голосов
/ 10 сентября 2009

Похоже, ваш провайдер очень сильно разбирается в конфигурации PHP. Я бы порекомендовал вам разработать весь ваш код на локальном сервере, убедиться, что он работает с E_ALL (возможно, E_STRICT, если это PHP5), и только затем загружать его на сервер.

И неправильная проверка, установлена ​​ли переменная, является простым и просто плохим кодированием. Убедитесь, что вы проверяете, что значение в массиве устанавливается всегда с помощью isset или array_key_exists .

0 голосов
/ 10 сентября 2009

Проблема с кодом в том, что NULL! = NULL. Вам лучше спросить "если пусто ($ somevar) ..."

Что касается вашей ошибки 500, я не ожидаю, что код, который вы разместили, повлияет на это.

...