我已经尝试重新安装 PHP。PHP 正在运行,Apache2 正在运行。我不知道为什么它没有在浏览器中打开并正常显示。
正如你所知——我的 httpd.conf 是空的——相反,我在 apache2.conf 中拥有一切。这是因为我使用的是 Ubuntu。
你能帮助我吗?我知道这很简单,但我似乎找不到答案。
我已经尝试重新安装 PHP。PHP 正在运行,Apache2 正在运行。我不知道为什么它没有在浏览器中打开并正常显示。
正如你所知——我的 httpd.conf 是空的——相反,我在 apache2.conf 中拥有一切。这是因为我使用的是 Ubuntu。
你能帮助我吗?我知道这很简单,但我似乎找不到答案。
你有这个项目的虚拟主机吗?
你是用http://localhost/file.php还是直接像 file://...../file.php 打开 php 文件?
就我而言,模块 userdir 对 /etc/apache2/mods-enabled/php5.conf 进行了修改
<IfModule mod_php5.c>
<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>
</IfModule>
解决方案在配置文件中,只需注释从<IfModule mod_userdir>
to的行</IfModule>
。
在你的 apache conf 中:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
之后不要忘记重新启动apache。让我知道事情的后续。
尝试
sudo a2enmod php5
在终端。假设您使用的是 php 5 :)
如果您使用的是 php5,那么完整的解决方案将是
sudo apt-get install libapache2-mod-php5
然后
sudo a2enmod php5
我最近遇到了这个问题,但仅在访问我的站点的根目录时(例如http://example.com
) - 它在显式访问 index.php 时按预期工作(例如http://example.com/index.php
)。
问题是,在创建之前index.php
,我在 web 根目录中有一个index.html
文件,但后来我将其重命名index.html.bak
为“将其移开”。不幸的是,这并没有把它移开。无论出于何种原因,Apache 都会使用 MIME 类型的application/x-trash
.
(因为/etc/mime.types
文件包含一行读取“ application/x-trash ~ % bak old sik
”)
也许这会帮助那些像我一样摸不着头脑的人。
此外,在移动站点时遇到这种情况,请确保您的 .htaccess 文件没有为 php 指定不同的方法处理程序。我们遇到了这个为客户移动 wordpress 网站的问题。
有同样的问题 - 它在我不小心从实时服务器下载的 .htaccess 文件中。删除 .htaccess 文件后,您需要清除缓存才能通过 http:// 在浏览器中加载 .php 文件