相关疑难解决方法(0)

PHP:需要路径不适用于cron作业?

我有一个需要包含此文件的cron作业:

require '../includes/common.php';
Run Code Online (Sandbox Code Playgroud)

但是,当它通过cron作业(而不是我的本地测试)运行时,相对路径不起作用.cron作业运行以下文件(在实时服务器上):

/home/username123/public_html/cron/mycronjob.php
Run Code Online (Sandbox Code Playgroud)

这是错误:

Fatal error: require(): Failed opening required '../includes/common.php' 
(include_path='.:/usr/lib/php:/usr/local/lib/php') in 
/home/username123/public_html/cron/mycronjob.php on line 2
Run Code Online (Sandbox Code Playgroud)

使用与cron作业相同的绝对格式,common.php将位于

/home/username123/public_html/includes/common.php
Run Code Online (Sandbox Code Playgroud)

这是否意味着我必须用以下代码替换我的第2行:

require '/home/username123/public_html/includes/common.php';
Run Code Online (Sandbox Code Playgroud)

谢谢!

php cron require include absolute-path

23
推荐指数
3
解决办法
3万
查看次数

在PHP中,使用CLI时,确保当前工作目录与脚本相同的最佳方法

通过cli调用php时,当前目录不会更改为脚本之一.我在crontab中运行的所有脚本都是通过CLI运行的,所以这是一个问题.

我目前固定做一个CHDIR()与其中的脚本是绝对路径的问题,但我真的不喜欢硬编码路径到这样的东西.

我正在寻找最便携/可靠的方法来确保当前工作目录是脚本所在的目录.

php

15
推荐指数
1
解决办法
6758
查看次数

标签 统计

php ×2

absolute-path ×1

cron ×1

include ×1

require ×1