簡體   English   中英

yiic命令行工具輸出代碼而不是打開shell

[英]yiic command line tool outputting code instead of opening shell

當我運行命令時: users-MacBook-Air:trackstar user$ ../yii/framework/yiic shell

哪個應該啟動Yii的Yiic Shell工具。 相反,我只是得到這樣的輸出:

<!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>
PHP Error</title>

<style type="text/css">
/*<![CDATA[*/
body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
p {font-family:"Verdana";font-size:9pt;}
pre {font-family:"Lucida Console";font-size:10pt;}
.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
.message {color: maroon;}
.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
.error {background-color: #ffeeee;}
/*]]>*/
</style>
</head>

<body>

依此類推,為什么會這樣?

試試這個

./protected/yiic shell protected/config/main.php

所以這是我遇到的問題(因為我似乎在同一本書和Mac上),我正在使用XAMPP,但是我嘗試了MAMP並遇到了同樣的問題。

一個 :嘗試運行yiic shell時的HTML輸出分辨率:這與yiic shell有關,必須確保您的php.ini時區設置正確,不幸的是,像MAMP甚至XAMPP這樣的系統都有想要強制執行您的習慣基於系統設置的時區,它並不總是與date.timezone函數匹配。為了解決此問題,請將以下內容添加到main.php文件頂部的以下位置:

// Fix for server incompatibilities
date_default_timezone_set('UTC');

:嘗試運行Yii :: app()-> db-> connectionString時找不到文件問題; 解決:由於某些原因,yii和PHP想要在mysql.sock不在的地方尋找mysql.sock,因此必須強制執行它以查找需要尋找的地方。 另外,有時“本地主機”無法正常工作,因此您應該使用“家庭” IP,最常見的是127.0.0.1(即使在網絡上,除非您手動進行了設置)。 這將使您的連接字符串如下所示。

'connectionString' => 'mysql:host=127.0.0.1;dbname=DBNAME;unix_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',

您的mysql.sock可能位於其他位置,請檢查phpinfo();。 頁面以查找。 (這可能適用於MAMP和XAMPP)

:*上對用戶*的訪問被拒絕,這是所有方法中最愚蠢的,當我在MySQL中設置用戶時,我將該用戶設置為接受所有輸入位置(也就是%),似乎拒絕訪問是不可避免的MAMP和XAMPP都是我唯一的解決方法,刪除訪問權限(可能甚至刪除用戶),並確保它們僅設置為“本地”或“本地主機”。 這樣便可以連接了。

我花了兩天時間整理所有這些內容,現在我開始着手在Mac上用xampp安裝pear了。

遇到類似的問題。 我的是在main.php中的urlManager組件中引起的。 回到過去的工作代碼為我排序。 不幸的是,這意味着每次我需要運行yiic shell時都要還原main.php。

我經歷了一段時間相同的問題:HTML列表而不是控制台yiic運行。

最后,我在config / main.php的“ preload”部分發現了一個錯誤:配置引用了缺少的組件。

因此,我的建議是仔細瀏覽yicc生成的HTML列表,查找任何錯誤,並/或嘗試更正/驗證main.php配置

對於Mac用戶,請檢查。

Mac:testdrive用戶$ ./protected/yiic shell protected / config / main.php

這對我有用。

從標題標簽看,它看起來像一個PHP錯誤。 yiic工具是一個PHP腳本。 如果錯誤消息不在輸出中,您是否檢查了PHP錯誤日志?

暫無
暫無

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

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