it-swarm.com.ru

Почему php не работает?

Я видел, что на этот вопрос отвечали много раз, но большинство заканчивают либо без ответа, либо сообщая спрашивающему:

<?php phpinfo() ?>

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

Я использую сервер Ubuntu 12.04 с Amazon. Apache установлен, php5 установлен, и Apache был перезапущен. Я следовал следующей последовательности:

Sudo apt-get install Apache2

Sudo apt-get install php5

Sudo apt-get install libapache2-mod-php5

Sudo /etc/init.d/Apache2 restart

Каждая из первых трех команд теперь дает мне следующее: «Apache2 уже является самой новой версией . 0 обновлена, 0 вновь установлена, 0 удалена и 3 не обновлена» Очевидно, замените Apache2 на php5 и libapache2-mod-php5 для другие два.

Это верный способ сказать мне, что он установлен, правильно? Что ж, когда я использую команду "top", php - это не одна из запущенных служб, которая говорит мне, что она не запущена, верно?

Переход на IP-адрес дает мне Amazon "Это работает!" страница, но переход на любую другую страницу на сервере приводит к ошибке 404.

Буду признателен за любую оказанную помощь.

9
Christian

Проверьте конфигурационные файлы Apache. Для Debian/Ubuntu они находятся в /etc/Apache2/sites-available/, для RedHat/CentOS/etc они находятся в /etc/httpd/conf.d/. Если вы только что установили его, файл там, вероятно, называется default.

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

Строка, которую вы ищете в этих файлах: DocumentRoot /path/to/directory.

Для пустой установки ваши php-файлы, скорее всего, должны быть в /var/www/.

Вам также нужно найти файл php.ini, который, вероятно, находится по адресу /etc/php5/Apache2/php.ini или /etc/php.ini, найти запись для display_errors и переключить ее на On.

11
castis

Одна большая проблема: PHP по умолчанию отключен в домашних каталогах пользователей, поэтому, если вы тестируете из ~/public_html, он не работает . Проверьте /Etc/Apache2/mods-enabled/php5.conf

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

Кроме того, установка в Ubuntu очень проста, так как все, что вы использовали для добавления в httpd.conf, выполняется автоматически.

6
MagicLAMP

Введите в браузере localhost: 80 // test5.php [где 80 - ваш порт, а test.php - имя вашего файла] вместо c: //xampp/htdocs/test.php.

0
Dipankar Biswas