2013-03-03 174 views
0

我试图运行访问我的数据库并执行一些文件传输的CRON作业。从另一个刚刚进行文件传输的CRON作业调整它,我把命令:此适配器需要PDO扩展,但扩展未加载CRON作业错误

php -qn -d memory_limit=128M 

在我的CRON文件的前面。我记得我添加了memory_limit,因为我正在传输文件,但不记得为什么我有-qn -d的生活。复制同样的命令需要访问使用Zend_Db_Adapter_Pdo_Mysql数据库另一个cron作业,我得到了错误:

“PDO扩展需要这个适配器,但扩展不加载错误”

而且,它只是当我使用命令

php -q 

错误消失。 2个问题,然后:

1)关于CRON工作,“-qn -d memory_limit = 128M”和“php -q”之间的区别是什么?

2)为什么我在使用前一个命令而不是后一个命令时遇到PDO问题?

-Eric

回答

1

-n标志的意思是“不使用任何的php.ini文件”,因此它不加载任何扩展(导致PDO错误)。 -d标志允许您设置PHP配置变量,因此在您的示例中,您将覆盖默认的内存限制。

+0

考虑到这一点,我可以有我的蛋糕,也吃了吗?换句话说,是否有配置选项来加载扩展以及覆盖内存限制? – Eric 2013-03-04 01:53:43

+0

是的,应该工作,只需删除-n:'-q -d memory_limit = 128M' – 2013-03-04 09:05:18

+0

行!这就说得通了。然而,我的主机(我使用的是共享主机提供商,如果这有所影响)我的印象是,我还需要-n作为CRON作业,否则memory_limit = 128M将被忽略。如果这是真的,有没有办法通过CRON工作来加载扩展,或者-n实际上是多余的? – Eric 2013-03-04 14:58:15