我在 Ubuntu 13.04 环境中使用 php。我已经配置了 apache,所以在我的主目录中我有一个public_html
目录,我可以在其中保存我正在处理的所有网站,并且我可以使用localhost/~homedir/website
. 过去一切正常,但几天前我将 php 降级到 5.3 版以尝试解决一个问题(然后我没有解决),然后我又回到了 php 5.4.9。这发生在几天前,我不记得我是否检查过我的任何网站。无论如何,今天我尝试访问一个,但它没有用。在 apache error.log 文件中,我有这个:
File does not exist: /home/carlo/public_html/website/index.php/welcome
Negotiation: discovered file(s) matching request: /home/carlo/public_html/website/index (None could be negotiated).
我通常使用的.htaccess
是这样的:
RewriteEngine on
RewriteBase /~carlo/website/
RewriteCond $1 !^(index\.php|cache|captcha|fonts|forum|media|img|min|css|js|scripts|images|uploads|docs|robots.txt|sitemap.xml|sitemap|public|tools|assets|xd_receiver.htm)
RewriteRule ^(.*)$ index.php/$1 [L]
另一方面,phpmyadmin 正在工作。我可以使用localhost/phpmyadmin
. 在/etc/apache2/conf.d/apache.conf
我有这个:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/
</IfModule>
我认为降级和升级php的一些配置文件发生了变化,但我不知道是哪一个以及做什么。你能帮我弄清楚吗?我要发布一些其他信息吗?
编辑:
我想我已经发现了问题所在。显然,升级 php 以下指令被重新激活:
# 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>
所以,评论他们解决了这个问题(我希望)