我只是升级了我的Ubuntu服务器12.04的PHP 5.3到5.4,使用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的error.log:
[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 mod是启用a2endmod php (它说,它已经启用)。 很明显,5.3和5.4之间有一些configuration变化,但是我找不到使用Google-fu的情况。
奇怪的是,OwnCloud的作品,这就是为什么我升级到5.4(第8版要求)。 它build立在PHP中,执行得很好!
如果我把一个php文件放在/var/www ,那么这个问题很明显是与我的虚拟主机有关。
任何帮助非常感谢!
劳伦斯
我通过禁用php5_cgi Apache模块解决了这个问题,正如Virtualmin的论坛上的这个主题: https : php5_cgi