繁体   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