xpkiller 发表于 2008-3-13 13:45:31

php 运行的问题

我做一个系统性能监控的网站,有些php程序需要放到crontab中自动运行获取系统信息,
需用用到CI的功能,比如加载插件,数据库操作。
但是我在shell下运行php xxx.php,报错如下:
PHP Fatal error:Class 'Controller' not found in /home/aaa/wwwroot/bbb/system/application/controllers/blog.php on line 2
Fatal error: Class 'Controller' not found in /home/aaa/wwwroot/bbb/system/application/controllers/blog.php on line 2

不知道有没有办法实现在shell下php运行程序,并且可以使用CI功能办法。

谢谢大家了

kkito 发表于 2008-3-13 14:01:43

index.php这个文件会requrie很多文件
如果单一执行某个controller的php文件而没有requrie别的肯定会有找不到某某类,某某方法的错误
错误的原因应该是这个没有错

至于shell下运行php,俺也不清楚

xpkiller 发表于 2008-3-13 14:28:10

我发现php index.php 可以运行route.php里面配置的xxx.php,有没有办法通过参数的形式调用index.php 运行别的php程序呢:lol

Hex 发表于 2008-3-13 15:05:45

shell 方式下的 URL 处理不一样了吧,你换成 query_string 形式,试试!

xpkiller 发表于 2008-3-13 15:13:33

和url没关系吧,就是要在shell下运行system/application/controllers下的php程序。
因为在浏览器访问的时候,会先调用index.php,它会将很多东西require,并且初始化,但如果在shell下php运行程序的话,不能初始化那些东西,所以运行失败,有没有方法在shell下运行php程序前先初始化,或者在php程序中将CI需要的东西都require呢?
谢谢了

Hex 发表于 2008-3-13 18:16:02

总之一句话,不是为 shell 设计的。
index.php 后面的东西都是 PATH_INFO,shell 能给他提供这个吗?这是服务器提供的东西。

xpkiller 发表于 2008-3-13 20:44:03

哦,非常感谢,我也不用去乱试了,呵呵
谢谢了:)

avenger 发表于 2008-4-14 14:09:58

http://codeigniter.com/wiki/Category:Advanced::CronScript/

这边有讲一个在命令行下跑CI的方法

Hex 发表于 2008-4-14 14:44:05

这可是好东西,学习了~~

zongzong08 发表于 2012-4-9 16:49:11

in文???
页: [1]
查看完整版本: php 运行的问题