我有一个PHP 5.4应用程序设置与Cron 1.4添加。我需要能够执行一个脚本,最好是每分钟发送一次通知,但我无法让这个工作。在cron上执行php脚本在Openshift
脚本位于:
/var/lib/openshift/OPENSHIFT_GEAR_UUID/app-root/runtime/repo/www/components/com_notifications/process.php
OPENSHIFT_GEAR_UUID用来代替实际值*
我添加了一个名为notifications
文件到文件夹.openshift/cron/minutely/
,并添加以下内容:
#!/bin/bash
php -f ${OPENSHIFT_REPO_DIR}/www/components/com_notifications/process.php
我试过了所有我能想到的或者发现可以使之工作的东西。我尝试删除大括号(我不确定是否需要)。我试过#!/bin/sh
。我修改了它们以确保它们具有可执行的权限。
当我在浏览器中加载页面时,该脚本可以正常工作。我遵循this tutorial,它实际上打印到日志文件,所以我知道cron正在工作。当我在ssh
中执行命令时,它就起作用。我似乎无法与cron做到这一点。
任何意见或建议?任何帮助表示赞赏。谢谢!!
UPDATE
我已经修改了文件到以下几点:
#!/bin/bash
php -f ${OPENSHIFT_REPO_DIR}/www/components/com_notifications/process.php >> ${OPENSHIT_DATA_DIR}/output.log 2>&1
date >> ${OPENSHIFT_DATA_DIR}/ticktock.log
的ticktock.log正在每分钟更新一次,但由于某些原因,PHP脚本仍然不被称为。我试过切换到wget
,这远非理想的解决方案,并从域名中调用它,但它仍然不起作用!
有同样的问题,这工作。 – ccamacho