root用户执行命令为  /usr/local/php/bin/php  -f /usr/local/apache2/htdocs/test.php
test.php权限为:-rwxr-xr-x.  1 root root    22 4月  10 15:04 test.php执行结果为:PHP Fatal error:  Unknown: Failed opening required '/usr/local/apache2/htdocs/test.php' (include_path='.:/usr/local/php/lib/php') in Unknown on line 0Fatal error: Unknown: Failed opening required '/usr/local/apache2/htdocs/test.php' (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
虚心请教,本人第一次在linux上运行php, 一天了,都没搞好。

解决方案 »

  1.   

    运行路径?
    php命令行运行时,初始路径是运行所在路径而不是php文件所在路径,所有里面的相对路径都根据这个初始路径计算得到
      

  2.   

    说的很明确了,没有这个文件/usr/local/apache2/htdocs/test.php。
    Fatal error: Unknown: Failed opening required '/usr/local/apache2/htdocs/test.php' (include_path='.:/usr/local/php/lib/php') in Unknown on line 0应该是相对路径导致的,请换成绝对路径
      

  3.   


    你好,好像不是相对路径导致的,假设我执行一个没有的文件,比如:
    [root@localhost htdocs]# /usr/local/php/bin/php  -f /usr/local/apache2/htdocs/test322323.php
    Could not open input file: /usr/local/apache2/htdocs/test322323.php
    提示的是Could not open input file。 这样就说明文件是找到了的。
      

  4.   

    [root@localhost htdocs]# /usr/local/php/bin/php4  -f /usr/local/apache2/htdocs/test.php
    -bash: /usr/local/php/bin/php4: 没有那个文件或目录同样的,我把php改为php4,提示“ 没有那个文件或目录”,说明php也是可以找到的
      

  5.   

    linux 不懂,windows命令行是这样的假设aaa.php里面有一句include ../bbb.php
    c:\abc>php d:\xxx\aaa.php
    这时,程序是会寻找c:\bbb.php,并且报错找不到,因为bbb.php是存在于 d:\ 这个目录的要善用 __DIR__ 和 __FILE__
      

  6.   

    顶,郁闷 ,求帮助,百度搜出来的都是 说的 test.php权限问题,修改权限就可以了,可是我的权限没问题啊。
      

  7.   

    关权限什么事?你出错都是include的,肯定是路径问题
      

  8.   

    已解决。 原因和下面的网页上的原因一致。
    http://www.cnblogs.com/zcy_soft/archive/2012/12/27/2835757.html
      

  9.   

    解决就好
    真复杂的问题,还好我不学无术,不研究这个……pass
    等真的遇上,再郁闷地google两三天好了
      

  10.   

    呵呵,原来是 php 代码问题
    但是你们并没有一个询问过楼主程序内容是什么
    就想当然的,头痛医头脚痛医脚了