设置Crontab以在CentOS中执行PHP脚本

设置Crontab以在CentOS中执行PHP脚本,php,bash,cron,centos,crontab,Php,Bash,Cron,Centos,Crontab,我已经千方百计寻找我在CentOS遇到的一个问题的解决方案。我正在尝试设置一个执行PHP脚本的cron作业。我可以使用wget实现这一点,但现在我们正在投入生产,我需要找到一种方法来实现这一点,同时更加安全,因为cron作业本身可以处理敏感数据 我得到的错误是:-bash:php:command未找到 现在我环顾四周,我看到有人有同样的问题,但没有任何东西能够帮助我让这个工作 以下是使用wget命令工作的crontab的外观,仅供参考 ***wget 这很好,但我需要将其转换为通过PHP执行,而

我已经千方百计寻找我在CentOS遇到的一个问题的解决方案。我正在尝试设置一个执行PHP脚本的cron作业。我可以使用
wget
实现这一点,但现在我们正在投入生产,我需要找到一种方法来实现这一点,同时更加安全,因为cron作业本身可以处理敏感数据

我得到的错误是:
-bash:php:command未找到

现在我环顾四周,我看到有人有同样的问题,但没有任何东西能够帮助我让这个工作

以下是使用
wget
命令工作的crontab的外观,仅供参考

***wget

这很好,但我需要将其转换为通过PHP执行,而不是发出HTTP请求来完成工作


如果我遗漏了什么,请告诉我。

Cron没有设置它的路径。最简单的事情是将php命令更改为php二进制文件的完整路径

/usr/bin/php/path/to/yourscript.php


我很确定这就是CentOS中的路径,但您可以通过在命令行上执行
哪个php
来确定,它会告诉您。

Cron没有设置它的路径。最简单的事情是将php命令更改为php二进制文件的完整路径

/usr/bin/php/path/to/yourscript.php


我很确定这是CentOS中的路径,但您可以通过在命令行上执行
哪个php
来确定,它会告诉您。

我的
/usr/bin
文件夹中没有php,但在我的
/etc
文件夹中有一个名为
php52
的文件夹。里面是一个单独的文件
php.ini
。当尝试运行命令
/etc/php52 myscript.php
时,我得到一个错误,说php52是一个文件夹。肯定不在
/etc
中。如果
哪个php
没有返回任何内容,那么您需要安装命令行工具。如果您具有root或sudo访问权限,则可以使用
yum-install-php-cli
awesomeman安装它,这是朝着正确方向迈出的一步。现在PHP命令正在执行,但每次尝试测试它时,我都会收到一条消息:“PHP启动:无法加载动态库”/usr/lib64/PHP/modules/mcrypt.so`。知道那是什么意思吗?编辑:这看起来只是一个警告,所以这可能是我现在可以忽略的事情。不用说,我很快就会给你的答案打上正确的标记。脚本是以其他方式运行还是失败了?您是否在脚本中使用加密函数?如果是这样,那么通过Apache访问时脚本是否正常工作?根据您的编辑,如果您的脚本中没有使用任何加密函数,则可以忽略它。我知道mcrypt在某些版本的RedHat和CentOSI中很挑剔,我的
/usr/bin
文件夹中没有PHP,但在我的
/etc
文件夹中有一个名为
php52
的文件夹。里面是一个单独的文件
php.ini
。当尝试运行命令
/etc/php52 myscript.php
时,我得到一个错误,说php52是一个文件夹。肯定不在
/etc
中。如果
哪个php
没有返回任何内容,那么您需要安装命令行工具。如果您具有root或sudo访问权限,则可以使用
yum-install-php-cli
awesomeman安装它,这是朝着正确方向迈出的一步。现在PHP命令正在执行,但每次尝试测试它时,我都会收到一条消息:“PHP启动:无法加载动态库”/usr/lib64/PHP/modules/mcrypt.so`。知道那是什么意思吗?编辑:这看起来只是一个警告,所以这可能是我现在可以忽略的事情。不用说,我很快就会给你的答案打上正确的标记。脚本是以其他方式运行还是失败了?您是否在脚本中使用加密函数?如果是这样,那么通过Apache访问时脚本是否正常工作?根据您的编辑,如果您的脚本中没有使用任何加密函数,则可以忽略它。我知道mcrypt在某些版本的RedHat和CentOS中很挑剔