PHP require致命错误:无法打开所需文件'1',求解决方案
解决PHP require路径引发的Fatal Error问题
最近我碰到了一个PHP文件引入的坑,先给大家看看我的文件结构:
public_html ├── admin │ ├── _css │ ├── _php │ │ ├── login │ │ │ └── register_script.php │ └── register.php
我在/public_html/admin/register.php里尝试了好几种方式引入register_script.php:
- 直接用相对路径:
require '_php/login/register_script.php'; - 尝试使用完整目录路径
- 用
dirname(__FILE__)拼接路径:require dirname(__FILE__).'_php/login/register_script.php'; - 用
$_SERVER["DOCUMENT_ROOT"]拼接路径:require $_SERVER["DOCUMENT_ROOT].'_php/login/register_script.php/';
结果不管用哪种方式,都抛出了一模一样的致命错误:
Fatal error: require(): Failed opening required '1' (include_path='.:/usr/local/php71/pear') in /home/servername/public_html/admin/register.php on line 2
我特意强制刷新了浏览器,还测试了在require前加一行代码,报错行号会变成第3行,确认问题就是出在require语句的路径上。
最终解决方案
把引入路径改成./_php/login/register_script.php就正常运行了!
内容的提问来源于stack exchange,提问作者Dragonsnap
相关产品推荐
相关产品推荐

