在Windows上创建计划任务以在Plesk Onyx中运行php脚本时,将导致错误。
但是,当我在浏览器中运行相同的脚本时,它可以正常工作。
我一直在Webroot中寻找权限设置,并将其设置为允许访问服务器上的所有用户组。
我得到的错误如下:
Warning: require(\pcp2\inc\db_config.php): failed to open stream: No such file or directory in D:\www\domain\pcp2\conversion\addBooking.php on line 5
Fatal error: require(): Failed opening required '\pcp2\inc\db_config.php' (include_path='.;.\includes;.\pear') in D:\www\domain\pcp2\conversion\addBooking.php on line 5
第5行包含以下信息:
require($_SERVER['DOCUMENT_ROOT']."\pcp2\inc\db_config.php");
答案 0 :(得分:1)
失败的原因是$_SERVER['DOCUMENT_ROOT']
是Web服务器提供的值,因此在没有Web服务器的情况下(即从命令行)运行时未定义。您需要提供一种替代机制来进行设置基本目录。
您可以使用相对路径:
require("pcp2\inc\db_config.php");
或基于魔术常数__DIR__
的绝对路径。 (这假设执行要求的脚本在文档根目录中。)
require(__DIR__."\pcp2\inc\db_config.php");
但是,理想情况下,最好是在自动加载程序中使用PSR-4名称间隔。