簡體   English   中英

Godaddy Hosting上的CakePHP控制台

[英]CakePHP Console on Godaddy Hosting

我一直在努力讓我的CakePHP網站在Godaddy“網格托管”帳戶上工作。 我的蛋糕應用程序設置是從帳戶的子目錄托管,可以通過子域訪問。 我不得不調整我的.htaccess文件以使其工作,現在我需要讓CakePHP控制台在這種環境中工作。

我在Ubuntu服務器上擁有相同的蛋糕應用程序設置,該服務器托管在Amazon的EC2服務上。 基本上是開箱即用的Ubuntu LAMP設置。 CakePHP控制台在此環境中按預期工作。

當我嘗試在Godaddy上運行控制台時,我收到以下消息:

CakePHP控制台:此文件已正確加載且無法繼續。請確保/ cake / console位於系統路徑中,並檢查手冊以了解此命令的正確用法。( http://manual.cakephp.org/

我已經開始在cake / console / cake.php中添加一些調試代碼,以了解發生了什么。 在godaddy網站上,當我在第183行回顯print_r($this->args) ,我發現數組是空的。 當我在我的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;

我在想修改這個腳本可以解決問題。

在蛋糕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可執行文件。

我不認為在lib / cake中編輯任何東西是可以的,因為它會隨着你的第一次蛋糕更新而消失。

相反,我通過添加以下行來更改php.ini中的register_argc_argv設置:

register_argc_argv=On

現在一切似乎都和我一起工作了。

“請確保/ cake / console在您的系統路徑中。”

這是網格托管,所以我假設你有一個.bashrc文件,你可以編輯。 首先,您需要知道cake子目錄的絕對路徑,然后使用vim或nano編輯.bashrc

PATH = $ PATH:/絕對/路徑/到/蛋糕/控制台

然后你可以注銷並重新登錄,你應該可以從任何地方輸入蛋糕烘焙,它應該修復你得到的錯誤(從你的app目錄運行它,這樣它就可以找到你的database.php)。

如果您的.bashrc文件失敗,您可以暫時導出該變量,但每次登錄時都必須輸入該變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM