代码之家  ›  专栏  ›  技术社区  ›  Wayne Molina

php“需要一次”说它在目录中找不到文件

php
  •  1
  • Wayne Molina  · 技术社区  · 15 年前

    我正在调试一家外包公司编写的一些PHP代码(我根本不是一个PHP人员,但了解基本知识;我们有一个离岸的PHP开发团队为我们工作在这个项目上),这些代码不起作用;该代码应该每30分钟由cron作业调用一次,但不会被触发。我试图通过命令行运行php脚本来测试它是否正常工作,但它给了我以下(匿名)错误:

    PHP Fatal error: require_once(): Failed opening required '/myapp/_lib/_classes/MySql.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/myapp/_lib/_base/common.inc.php on line 6

    但是,文件 /var/www/html/myapp/_lib/_classes/MySql.php 存在于正确的目录下。我确实错过了一些简单的东西,但就像我说的,除了PHP的基础知识,我什么都不知道,我真的需要启动和运行这个服务。

    编辑: 代码正在使用 __autoload() 函数中的所有类 /_lib/_classes

    4 回复  |  直到 15 年前
        1
  •  3
  •   SilentGhost    15 年前

    如果文件名以斜线开头,则表示它是绝对路径。尝试代替:

    require_once('/var/www/html/myapp/_lib/_classes/MySql.php');
    
        2
  •  0
  •   Meep3D    15 年前

    可能是区分大小写?我以前有过这个问题。

        3
  •  0
  •   Dathan    15 年前

    我猜这是一个权限问题-确保您的帐户(出于测试目的)和cron将要运行您的脚本的任何帐户(很可能是您的,但可能是另一个)都具有对该文件的读取权限。

    另外:include的路径显示 /myapp/_lib/_classes/MySql.php ,而它存在于 /var/www/html/myapp/_lib/_classes/MySql.php . 可以更改include以引用完整路径吗?

        4
  •  0
  •   Dominik Sandjaja    15 年前

    如前所述,需要大小写以及访问该文件的正确权限。

    推荐文章