web方式可以访问,php命令行模式访问有问题

    今天要做相册的首页,首页是通过php的后台程序生成的静态页,其中有个模块是浏览最多的相册,取5个,决定这个模块通过服务器的ssi来调用一个静态的txt,然后将生成这个模块的php放入服务器的cron里自动来运行。

 

    php文件写好了,通过浏览器输入url来访问也成功运行,生成了txt。但是在服务器上通过命令行模式测试一下,失败!

 

    经搜索资料,发现命令行模式下执行php,不能通过$_GET和$_POST来接收参数,参数是放置再全局变量$argc和$argv里,$argc里存放的是参数的个数,$argv里存放的是参数。遂将php文件里获得参数的代码改掉,再测试,还是失败。

 

    后来发现程序的配置文件是通过$_SERVER['HTTP_HOST']来路由的,测试机和生产机的$_SERVER['HTTP_HOST']不同,来调用不同的配置文件。php命令行模式下得不到$_SERVER['HTTP_HOST']这个变量,所以调用了生产机的配置文件,执行也就失败了。修改$_SERVER['HTTP_HOST']为测试机的host后,成功!

 

    总结:php命令行执行的时候,一是要注意传参,是通过$argc和$argv全局变量的,另外一个是要注意$_SERVER全局变量,有一些在命令行下是得不到的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值