相关疑难解决方法(0)

Crontab - 在目录中运行

我想在root crontab中设置一个每天运行的工作.但我希望它从特定目录执行它,以便它可以找到它需要的所有文件,因为应用程序有一堆相对路径.

无论如何,我可以告诉crontab从特定目录运行吗?

unix directory crontab relative-path

153
推荐指数
2
解决办法
7万
查看次数

相对路径在cron PHP脚本中不起作用

如果PHP脚本作为cron脚本运行,则如果使用相对路径,则包含通常会失败.例如,如果你有

require_once('foo.php');
Run Code Online (Sandbox Code Playgroud)

在命令行上运行时将找到文件foo.php,但在从cron脚本运行时则不会找到.

一个典型的解决方法是首先将chdir添加到工作目录,或使用绝对路径.但是,我想知道导致此行为的cron和shell之间有什么不同.为什么在cron脚本中使用相对路径时会失败?

php cron

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

PHP:如何将当前工作目录设置为与执行脚本的目录相同

我正在将我的网站从一台服务器转移到另一台服务器.我有一些PHP脚本使用is_readable函数,它使用当前的工作目录.

在旧服务器上,当我调用getcwd()时,它会输出正在执行脚本的文件夹.在新服务器上,它输出根目录'/'.

我想知道如何配置PHP以使用当前文件夹而不是'/'. 我不想更改任何已在旧服务器上运行的PHP代码.我可以配置新服务器,但不知道要更改的设置.我正在使用apache2,如果这有帮助的话.

编辑:好像我的工作目录不像我想的那样.当我创建一个testFile.php和echo getcwd()时,它显示了php文件所在的目录.但在我的问题文件中,在同一目录中,getcwd()显示为'/'

php getcwd

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

运行PHP文件时出现Cron作业错误

我试图通过cron作业运行一个php文件,当我手动运行它时文件工作正常,但是当我在cron作业中运行它时,我收到此错误:

Warning: include(classes/EmailAddressValidator.php): failed to open stream: No such file or directory in /var/www/onecent_dev/classes/MiscFunctions.php on line 3

Warning: include(): Failed opening 'classes/EmailAddressValidator.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/onecent_dev/classes/MiscFunctions.php on line 3
Run Code Online (Sandbox Code Playgroud)

MiscFunctions.php和EmailAddressValidator.php都是现有文件并且位于正确的位置,是什么给出的?

谢谢

php cron crontab

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

标签 统计

php ×3

cron ×2

crontab ×2

directory ×1

getcwd ×1

relative-path ×1

unix ×1