我尝试在require_once中包含一个文件,然后我得到:
警告:require_once(1)[function.require-once]:无法打开流:第3行/var/www/phpscrape/index.php中没有此类文件或目录
致命错误:require_once()[function.require]:在/ var / www / phpscrape /中打开所需的'1'(include_path ='。:/ usr / share / php:/ usr / share / pear')失败index.php在第3行 我可以做一只猫/var/www/phpscrape/simplehtmldom/simple_html_dom.php,这意味着路径是正确的。
权限是www-data:www-data与正在执行的index.php相同。为了确保我也设置chmod 777,但这也没有帮助。
命令行是:
<? php
require_once("/var/www/phpscrape/simplehtmldom/simple_html_dom.php") or die("no such file");
答案 0 :(得分:2)
你正在遇到一个奇怪的副作用,即require
不是一个真正的函数,而是一个语言结构。
require
不要求将其参数括在括号中。
因此,require
解释为参数行的其余部分:
(("/var/www/phpscrape/simplehtmldom/simple_html_dom.php") or die("no such file"))
等于1
。
我要么放弃die()
(无论如何都要求死亡)或事先进行file_exists()
检查。
答案 1 :(得分:0)
require_once("var/www/phpscrape/simplehtmldom/simple_html_dom.php") or die("no such file");
开头没有/
如果不能正常工作,请尝试:
require_once("phpscrape/simplehtmldom/simple_html_dom.php") or die("no such file");