yiic命令行工具输出代码而不是打开shell

时间:2011-10-20 19:59:40

标签: php command-line frameworks terminal yii

当我运行命令时: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>

等等,知道为什么会这样吗?

6 个答案:

答案 0 :(得分:8)

试试这个

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

答案 1 :(得分:1)

所以这是我遇到的问题(因为我似乎也在同一本书和Mac上),我正在使用XAMPP,但我尝试了MAMP并遇到了同样的问题。

一个:尝试运行yiic shell时的HTML输出 解决方案:这与yiic shell有关,必须确保你的php.ini时区设置正确,不幸的是,像MAMP甚至XAMPP这样的系统都有根据系统设置强制执行你的时区的习惯,这不是总是匹配PHP提供的date.timezone函数,为了解决这个问题,将以下内容添加到main.php文件的顶部

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

两个:尝试运行Yii :: app() - &gt; db-&gt; connectionString时无法找到文件问题; 解决方案:由于某些原因,yii和PHP想要在不是的地方寻找mysql.sock,你必须强制执行它以查看它需要查看的位置。此外,有时“localhost”无法正常工作,因此您应该使用“home”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)

:访问被拒绝用户* on *,这一个是最愚蠢的,因为我在MySQL中设置我的用户我设置用户接受所有输入位置(又名% ),似乎访问被拒绝是MAMP和XAMPP的必然性,这是我唯一的解决方案,删除%访问(甚至可能删除你的用户),并确保它们只设置为“本地”或“localhost”。然后就可以连接了。

我花了两天的时间来解决所有问题,现在我开始在Mac上安装带有xampp的梨......是的。

答案 2 :(得分:0)

从标题标签看起来像PHP错误。 yiic工具是一个PHP脚本。如果错误消息不在输出本身,您是否检查了PHP错误日志?

答案 3 :(得分:0)

有类似的问题。我的是在main.php里面的urlManager组件中引起的。回到过去的工作代码为我排序。不幸的是,这意味着每次我需要运行yiic shell时都会恢复main.php。

答案 4 :(得分:0)

我经历了一段时间同样的问题:HTML列表而不是控制台yiic正在运行。

最后,我在config / main.php的“preload”部分发现了一个错误:配置引用了一个缺失的组件。

所以我的建议是仔细浏览yicc生成的HTML列表并查找任何错误和/或尝试更正/验证main.php配置

答案 5 :(得分:0)

对于Mac用户,请查看此信息。 。

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

这对我有用。 。

相关问题