2016-09-16 2 views
0

Я запускаю новую установку Linux Mint 17.3 и следую this guide для установки Apache, PHP (5.5.9), MySQL и PHPMyAdmin. Единственное, что я сделал, это включить mod_rewrite.HTTP 500/Ошибка конфигурации?

Проблемы я имею при выполнении PHP кода, который должен вернуть предупреждение или фатальную ошибку, вместо этого возвращает ошибку HTTP 500. Например, следующий код работает отлично (как и ожидалась):

<?php 
// convert fahrenheit to celsius 
$temp = 80; 
$temp -= 32; 
$temp *= 5/9; 
echo $temp; 

в то время как я ожидал бы следующий код, чтобы вернуть предупреждение PHP/ошибку, но вместо этого он возвращает совершенно бесполезную ошибку HTTP 500:

<?php 
// convert fahrenheit to celsius 
$temp = 80; 
echo ($temp -= 32) *= 5/9; 

что происходит и как я могу решить эту проблему?

+0

Вы можете обнаружить, что вы получаете предупреждение/сообщение об ошибке, но оно не отображается, потому что у вас есть уведомления об ошибках, которые не отображаются на экране. Проверьте свои журналы apache/error или посмотрите, как отображать предупреждения и ошибки PHP. – Lee

+0

@ Лично даже после изменения значения '/ etc/php5/apache2/php.ini'' error_reporting = E_ALL' (показать все ошибки, предупреждения и уведомления) он все равно дает мне ошибку HTTP 500. –

+0

Он всегда будет давать ошибку 500, так как это ошибка, которая происходит. Вы проверили свои журналы? – Lee

ответ

1

Вы можете проверить свои журналы ошибок apache, уверен, что они точно скажут, что такое ошибка 500.

вы также можете проверить сообщения об ошибках в апаче конфигурации/s, чтобы убедиться, что ошибки установлены правильно сообщить

+2

Технически, это должен быть комментарий, а не ответ. – Lee

+0

@ Lee: он не может комментировать из-за репо .. – devpro

1

Конечно, как говорят, комментарии, вы/должны найти ошибки в ваших журналах говорят, что вы едите parse error в вашем коде на части *=.

Вот почему

($temp -= 32) часть вашего кода в порядке, потому что значение 80-32 устанавливается обратно в переменную $temp. Однако *= 5/9 не возвращается к переменной, а к результату ($temp -= 32), который является просто скалярным значением, поэтому у вас есть ошибка.

Просто используйте его без = знака echo результат:

эхо ($ Темп - = 32) * 5/9;

+0

Я не спрашиваю, как исправить ошибку PHP. –

+0

@mistermartin мой плохой. Тогда проверьте мои комментарии. – Thibault

Смежные вопросы