the*_*her 7 php linux bash cakephp
我一直在努力让我的CakePHP网站在Godaddy"网格托管"帐户上工作.我的蛋糕应用程序设置是从帐户的子目录托管,可以通过子域访问.我不得不调整我的.htaccess文件以使其工作,现在我需要让CakePHP控制台在这种环境中工作.
我在Ubuntu服务器上拥有相同的蛋糕应用程序设置,该服务器托管在Amazon的EC2服务上.基本上是开箱即用的Ubuntu LAMP设置.CakePHP控制台在此环境中按预期工作.
当我尝试在Godaddy上运行控制台时,我收到以下消息:
CakePHP控制台:此文件已正确加载且无法继续.请确保/ cake/console位于系统路径中,并检查手册以了解此命令的正确用法.(http://manual.cakephp.org/)
我已经开始在cake/console/cake.php中添加一些调试代码,以了解发生了什么.在godaddy网站上,当我print_r($this->args)在第183行回应时,我发现数组是空的.当我在我的Ubuntu EC2实例上执行此操作时,我得到了:
Array
(
    [0] => /var/www/www.directory.sdcweb.org/htdocs/cake/console/cake.php
)
看起来godaddy的命令行PHP没有通过bash shell命令行参数.有没有人对如何让CakePHP控制台在Godaddy上工作有一些建议?
调用Cake shell的bash脚本包含以下内容
LIB=${0/%cake/}
APP=`pwd`
exec php -q ${LIB}cake.php -working "${APP}" "$@"
exit;
我在想修改这个脚本可以解决问题.
the*_*her 12
在蛋糕shell脚本(cake/console/cake)中更改
exec php -q ${LIB}cake.php -working "${APP}" "$@"
至
exec php -q -d register_argc_argv=1 ${LIB}cake.php -working "${APP}" "$@"
在此之后,我发现像这样调用php恰好运行PHP 4 CLI.解决这个问题是我用来在我的共享Godaddy托管上调用PHP 5的最终bash脚本
exec /web/cgi-bin/php5 -q -d register_argc_argv=1 ${LIB}cake.php -working "${APP}" "$@"
如果你通过他们的托管控制面板设置一个基于PHP的cron作业,你会发现调用的php命令实际上是这个php5可执行文件.
| 归档时间: | 
 | 
| 查看次数: | 3173 次 | 
| 最近记录: |