Назад | Перейти на главную страницу

PHP не работает на виртуальном хосте Apache

У меня есть виртуальный частный сервер с Parallels Power Panel на CentOS 6. Виртуальный хост Apache по умолчанию (доступ через IP) работает без каких-либо проблем.

Теперь я создал новый домен с Plesk и скопировал файлы в каталог виртуального хоста. К сожалению, скрипты PHP не работают - вы можете получить к ним доступ, но они не предварительно обработаны. Модуль PHP работает, поскольку виртуальный хост по умолчанию все еще работает.

Я попытался изменить httpd.conf (вот полный файл) безуспешно добавляя директиву NameVirtualHost и раздел VirtualHost. Это раздел, который я добавил:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin admin@###.com
    DocumentRoot /var/www/vhosts/###.com/httpdocs/
    ServerName www.###.com
    ServerAlias ###.com
    ErrorLog /var/log/httpd/###.com/error.log
    CustomLog /var/log/httpd/###.com/access.log common



<Directory "/var/www/vhosts/###.com/httpdocs/">
    Options Indexes FollowSymLinks Includes MultiViews ExecCGI
    AllowOverride All

    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

и это мой php.conf (в conf.d):

<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

AddHandler php5-script .php

DirectoryIndex index.php

AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php

Для протокола, проблема была в Plesk.

Вероятно, возникла проблема с ручной установкой PHP 5 из Webtatic. После этого любой новый субдомен, созданный с помощью Plesk, будет иметь в своей конфигурации Apache php_admin_flag engine off.

Было сложно найти, где они находятся, потому что Plesk создает один файл конфигурации для каждого [под] домена в conf subdir каталога домена и включите их в httpd.conf. Это хорошая практика, но ее трудно найти, и вы не можете легко ее персонализировать, если хотите сделать что-то отличное от параметров графического интерфейса (если вы измените что-то через графический интерфейс, старый файл conf не будет изменен, но будет создан новый. создан, и вам нужно повторно применить все свои модификации).

Если это установка по умолчанию (пакеты httpd, php), ничего не изменилось, тогда это должна быть проблема php.ini с short_open_tag - php будет анализировать файлы с расширением .php, но игнорировать контент, если он не начинается с <?php.

Похоже, вы не настроили Apache для правильного анализа файлов .php. Он не знает, что с ними делать, поэтому выплевывает их как загрузку.

http://dan.drydog.com/apache2php.html

Попробуйте шаг 11.