另一个PHP require_once问题

时间:2010-09-13 11:48:42

标签: php

  

可能重复:
  require_once () or die() not working

我尝试在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");

2 个答案:

答案 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");