Я только что обновил php на своем Ubuntu Server 12.04 до 5.4 с 5.3, используя ppa:ondrej/php5-oldstable
ppa, но теперь мои сайты на php не загружаются (я просто получаю загруженный файл). Я перезапустил apache2
, и мой /etc/apache2/mods-available/php5.conf
файл выглядит так:
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
# AddType application/x-httpd-php-source .phps
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
# SetHandler application/x-httpd-php-source
</FilesMatch>
# 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_value engine Off
</Directory>
</IfModule>
В журнале ошибок apache ничего нет:
[Tue Feb 10 15:55:13 2015] [notice] caught SIGTERM, shutting down
[Tue Feb 10 15:55:14 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Tue Feb 10 15:55:14 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Feb 10 15:55:14 2015] [notice] Digest: done
[Tue Feb 10 15:55:14 2015] [notice] Apache/2.2.22 (Ubuntu) DAV/2 SVN/1.6.17 mod_fcgid/2.3.6 PHP/5.4.37-1+deb.sury.org~precise+1 mod_ruby/1.2.6 Ruby/1.8.7(2011-06-30) mod_ssl/2.2.22 OpenSSL/1.0.1 configured -- resuming normal operations
apache2ctl configtest
дает этот вывод:
[Tue Feb 10 16:23:42 2015] [warn] The Alias directive in /etc/apache2/conf.d/owncloud.conf.old at line 1 will probably never match because it overlaps an earlier Alias.
[Tue Feb 10 16:23:42 2015] [warn] NameVirtualHost 2001:41D0:2:6D94::1:443 has no VirtualHosts
[Tue Feb 10 16:23:42 2015] [warn] NameVirtualHost 94.23.234.148:443 has no VirtualHosts
Я также убедился, что мод php5 включен с a2endmod php
(он говорит, что он уже включен). Очевидно, что между 5.3 и 5.4 произошли какие-то изменения конфигурации, но я не могу найти, что это было с помощью Google-fu.
Как ни странно, OwnCloud работает, поэтому я в первую очередь обновился до 5.4 (этого требует v8). Он построен на PHP и отлично работает!
Если я помещу файл php в /var/www
он работает, поэтому проблема, очевидно, связана с моими виртуальными хостами.
Любая помощь очень ценится!
Лоуренс
Я исправил это, отключив php5_cgi
Модуль Apache, согласно этой теме на форумах Virtualmin: https://www.virtualmin.com/node/25521