php - 我如何解决 "PHP Fatal error: Unknown: Failed opening required"

标签 php wordpress .htaccess ubuntu-16.04 ubuntu-server

我在 LAMP 堆栈上有两个站点。一个(Site1)使用带有 Wordfence 的 WordPress,它运行得非常好。第二个网站(Site2)只运行一个简单的 index.php 文件:

<?php
echo "Testing";
?>

但是,它显示 HTTP ERROR 500,错误日志如下。
[Thu Dec 22 16:23:44.774993 2016] [:error] [pid 56607] [client xxx:27253] PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Thu Dec 22 16:23:44.775042 2016] [:error] [pid 56607] [client xxx:27253] PHP Fatal error:  Unknown: Failed opening required '/var/www/site1/public_html/public/wordfence-waf.php' (include_path='.:/usr/share/php') in Unknown on line 0

Site1 和 Site2 彼此无关,它们位于不同的文件夹中。我不确定发生了什么。请指教。

Site1 上的 .htaccess 文件
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Wordfence WAF
<IfModule mod_php7.c>
        php_value auto_prepend_file '/var/www/site1/public_html/public/wordfence-waf.php'
</IfModule>
<Files ".user.ini">
<IfModule mod_authz_core.c>
        Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
</IfModule>
</Files>

# END Wordfence WAF

最佳答案

感谢@EdCottrell。我终于找到了答案。

首先,我调试找到在哪里php.ini 通过在工作站点上创建一个 info.php 来定位。

<? php phpinfo(); ?>

然后,我发现 auto_prepend_file = 上是否有任何值。如果是,请删除它。

然后我打开 site1.conf 文件并添加 auto_prepend_file 行而不是 .htaccess 中的行
<Directory "/path/to/folder">
    php_value auto_prepend_file /absolute/path/to/apache-prepend.php
</Directory>

重新启动 Apache 服务器后,一切又正常了!
sudo systemctl restart apache2

关于php - 我如何解决 "PHP Fatal error: Unknown: Failed opening required",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41289134/

相关文章:

php - 架构:API作为网站和移动应用程序的核心

javascript - Wordpress 将脚本排队到页面模板失败

jquery - 预定义值时 float 标签不起作用

php - 总登录时间

php - 在 PHP 中,如何使用 DOMDocument 类替换 IMG 标签的 src= 属性?

php - 自动插入日期

html - 列表上方的菜单白线

php - Htaccess,如果文件夹存在则重定向

apache - %25 附加在 htaccess 重定向的 Url 中

linux - 报告 301 时将页面重定向到另一个页面