php - require_once 在命令行中不起作用

标签 php centos fatal-error require-once

php /home/test9/public_html/degerlendir/test-4567.php "var1=18&var2=22"

我需要使用 cron 作业在后台运行一个页面。我用上面的命令测试了我的代码。但是我得到这个错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/extensions/no-debug-non-zts-20100525/imagick.so' - /usr/lib64/extensions/no-debug-non-zts-20100525/imagick.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  require_once(../config.php): failed to open stream: No such file or directory in /home/test9/public_html/degerlendir/test-4567.php on line 2
PHP Fatal error:  require_once(): Failed opening required '../config.php' (include_path='.:/usr/lib64/php') in /home/test9/public_html/degerlendir/test-4567.php on line 2

问题是页面在父目录中不包含 config.php。该页面在浏览器中正常工作。我尝试使用不同的 require_once 变体,例如 require_once ($_SERVER['DOCUMENT_ROOT']."/config.php")。我无法让它工作。

最佳答案

命令行中没有 $_SERVER['DOCUMENT_ROOT'] .那个只能从 http 服务器 (Apache) 获得。

工作目录不会自动设置。如果您提示当前位于/some/path/脚本将尝试在/some/config.php 中查找 config.php。

使用 __DIR__ 尝试 cd 到当前路径在脚本的开头

<?php chdir(__DIR__); ?>

关于php - require_once 在命令行中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45692982/

相关文章:

PHP:监听 HTTP 请求/HTTP 流

docker - 错误/dev/tty : No such device or address when installing sqlcmd inside docker

php - 拉维尔 4 : Fatal error: Class 'Patchwork\Utf8\Bootup' not found in autoload. PHP

token - Gitlab CI 无法克隆 gitlab 存储库

php - 使用 MySQL 或 PHP 随机化结果更好吗?

php - 数组声明中的 Netbeans PHP 空格

linux - 在 CentOS 6.4 中意外删除了符号链接(symbolic link) libc.so.6。如何获得 sudo 权限来重新创建它?

php - 无法从 apache centos 运行 exec()

php - 找不到类(在 PHP 中)

php - Janrain 的 PHP-OpenID 和 Google/Yahoo