我有一个zendframework项目,我需要定期运行一个脚本来上传文件夹的内容,另一个需要下载.脚本本身已经准备就绪,但我正在努力弄清楚在哪里或如何设置要运行的脚本.到目前为止,我尝试过ly and和卷曲.我首先得到一个关于指定控制器错误的错误,我修复了但现在我只是在运行脚本时得到一个空白的屏幕,但文件没有上传.

对于zendframework项目,如何设置由cron运行的脚本?

编辑:
我的项目结构如下所示:

mydomain.com

    application
    library
    logs
    public
        index.PHP
    scripts
        cronjob.PHP
    tests

cronjob.PHP是我需要运行的脚本.前几行是:

<?PHP
define("_CRONJOB_",true);
require('/var/www/remotedomain.info/public/index.PHP');

我还修改了我的index.PHP文件,如下所示:

// Create application,bootstrap,and run
$application = new Zend_Application(
    APPLICATION_ENV,APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();

/** Cronjobs don't need all the extra's **/
if(!defined('_CRONJOB_') || _CRONJOB_ == false)
{
    $application->bootstrap()->run();
}

但是现在当我现在尝试运行脚本时,我收到消息:

Message: Invalid controller specified (scripts).

这是否意味着我需要为此目的创建一个控制器?但脚本文件夹位于应用程序文件夹之外.我该如何解决?

谢谢大家的回答.然而,对我有用的解决方案来自这个网站 Howto: Zend Framework Cron.原始链接已经死亡,但 its copy可以在Internet Archive上找到.

我在这里发布了一些代码.但请这不是我的解决方案.所有学分都归原作者所有.

The trick with cronjobs is that you do not want to load the whole View
part of ZF,we don’t need any kind of HTML output! To get this to
work,I defined a new constant in the cronjob.PHP which I will check
for in the index.PHP.

cronjob.PHP

define("_CRONJOB_",true);
require('/var/www/vhosts/domain.com/public/index.PHP');
// rest of your code goes here,you can use all Zend components Now!

的index.PHP

date_default_timezone_set('Europe/Amsterdam');

// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH',realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV',(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEParaTOR,array(
realpath(APPLICATION_PATH . '/../library'),get_include_path(),)));

/** Zend_Application */
require_once 'Zend/Application.PHP';

// Create application,and run
$application = new Zend_Application(
APPLICATION_ENV,APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();

/** Cronjobs don't need all the extra's **/
if(!defined('_CRONJOB_') || _CRONJOB_ == false)
{
$application->bootstrap()->run();
}

zend-framework – 如何设置一个作为zend框架项目一部分的脚本的cron作业的更多相关文章

  1. java定时任务cron表达式每周执行一次的坑及解决

    这篇文章主要介绍了java定时任务cron表达式每周执行一次的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  2. Linux环境下mysql数据库备份操作说明

    如下: 一、 编写数据库备份shell脚本 1、登录服务器,进入mysql安装目录。例:cd /usr/local/mysql 2、创建目录 dbBakShell和 dbbak,用于放置数据

  3. ubuntu 16.04 LTS的X窗口系统是什么。以及如何解决X服务器问题?

    目标:解决X服务器“:0”上10033个请求后的错误XIO:致命IO错误11,剩余0个事件我使用的是IntelNUCi3第7代,ubuntu16.04LTS。在此基础上,我正在使用rebootcrontab运行python脚本。这个python脚本有5个线程和一个通过线程的多进程。一个线程用于tkinter应用程序。我正在一些硬件操作中应用系统。

  4. Cpanel cron作业不能在夜间或下班后运行,对吗?

    我到处寻找,但无法确认cpanelcron作业只能在夜间或下班后运行。作为示例在早上6点到下午6点的白天,小时设置为6-18,但在相反的夜晚,从下午6点到早上6点,小时不能设置为18-6除非有什么解决方案,我想唯一的办法就是运行两个cron作业,一个是18-0,一个来自0-6

  5. 在Windows上运行PHP应用程序 – 守护进程或cron?

    我需要一些实施建议.我有一个MysqL数据库,它将被远程写入以便在本地处理任务,我需要用PHP编写的应用程序,以便在进入时执行这些任务.但当然我的程序需要被告知何时运行.我想过使用cron作业,但我的应用程序是在Windows机器上.其次,我需要每隔几秒钟不断检查一次,而cron只能每分钟检查一次.我想过编写一个PHP守护进程,但我正在接受它的工作,如果它甚至是一个好主意!

  6. centos – 为什么备份脚本会因cron而失败?

    所以我正在做数据库的自动备份.备份脚本在我手动运行时以及Cron运行计划的每小时和每日备份时都能正常运行.但是,备份在每周和每月备份上失败.我(显然)不确定,但我想我的问题是cron配置.也许是冲突因为脚本在午夜多次运行?

  7. cron工作的时区

    我们有一个运行CentOS5.5的VDS,它是用EDT时区创建和配置的.我已使用指向澳大利亚/墨尔本时区文件的链接替换了etc/localtime.运行date命令可显示正确的日期和时间.问题是cron作业正在运行,好像服务器仍在使用EDT时区,即使重启后也是如此.例如应该在凌晨1点01分运行的工作刚刚在下午3:01运行.我错过了什么?更改时区后,重新启动crond服务就足够了,无需重启.不知道为什么你的cron仍在使用EDT时区,但在你的cron行之前插入一行:然后再试一次.

  8. centos – 运行在不同时区和日期命令的cron显示不同的时区

    我有CentOS,当我在shell中运行date命令时,它会返回类似于:ThuApr2814:08:20GMT2011但是cron作业在PST时运行.如果我指定的话157***command它将在7太平洋标准时间而不是格林威治标准时间请告诉我为什么会这样.谢谢输出hwclock命令:/usr/sbin/hwclock–utc无法通过任何已知方法访问硬件时钟.使用–debug选项可以查看我们搜索访问

  9. 设置centos以自动应用更新

    如何设置centos实例以自动应用安全更新?是否像设置一个在上午1点做yum-y更新的cron作业一样简单?

  10. centos – 当cron完成时如何获取电子邮件通知并登录文件(两者)

    我是linux的新手.我想弄清楚事情.有人可以帮助我如何结合这两个命令?通常可以通过以下面的方式编辑crontab将cron结果定向到日志文件如果我们需要cron结果成为电子邮件,我们可以使用MAILTO=someemail@domain.com等但如何结合两个选项和?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部