yiic инструмент командной строки, выводящий код вместо открытия оболочки - PullRequest
0 голосов
/ 20 октября 2011

Когда я запускаю команду: users-MacBook-Air:trackstar user$ ../yii/framework/yiic shell

Что должно запустить инструмент оболочки yiic для Yii. Я вместо этого просто получаю вывод, как это:

<!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 ]

8 голосов
/ 16 апреля 2012

Попробуйте вместо этого

./protected/yiic shell protected/config/main.php
1 голос
/ 27 августа 2013

Итак, вот проблемы, с которыми я столкнулся (поскольку я, кажется, нахожусь в той же книге и на Mac), я использую XAMPP, но я пробовал MAMP и имел ту же проблему.

One : вывод HTML при попытке запустить оболочку yiic Решение: это связано с тем, что оболочка yiic должна убедиться, что ваш часовой пояс php.ini настроен правильно, к сожалению, такие системы, как MAMP и даже XAMPP, имеют привычку желать применять ваш часовой пояс на основе настроек системы, это не всегда соответствует до функции date.timezone, которую предлагает PHP, чтобы решить эту проблему, добавьте следующую строку в начало файла main.php ниже

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

Два : не удается найти проблему с файлом при попытке запустить Yii :: app () -> db-> connectionString; Решение: по какой-то причине yii и PHP хотят искать mysql.sock там, где его нет, вы должны принудительно применять его, чтобы искать, где он должен выглядеть. Кроме того, иногда «localhost» не работает должным образом, поэтому вы должны использовать свой «домашний» 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 с этим, единственным разрешением, которое у меня было, удалить% access (возможно, даже удалить вашего пользователя) и убедиться, что они установлены только на "local" или "localhost". Затем он сможет подключиться.

Мне потребовалось два дня, чтобы разобраться со всем этим, а теперь я перехожу к установке груши с xampp на Mac ... ууу.

0 голосов
/ 01 апреля 2014

Для пользователей Mac, проверьте это.,.

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

это сработало для меня.,.

0 голосов
/ 20 сентября 2013

У меня возникла некоторое время та же проблема: листинг HTML вместо консоли yiic работает.

В конце я обнаружил ошибку в разделе «preload» файла config / main.php: конфигурация ссылалась на отсутствующий компонент.

Поэтому я предлагаю внимательно просмотреть список HTML, созданный yicc, и найти любые ошибки и / или попытаться исправить / проверить конфигурацию main.php

0 голосов
/ 17 августа 2012

Была похожая проблема.Мой был вызван в компоненте urlManager внутри main.php.Возвращаясь к прошлому рабочему коду, мне это удалось.К сожалению, это означает возвращение main.php каждый раз, когда мне нужно запустить оболочку yiic.

0 голосов
/ 21 октября 2011

Из тега title это выглядит как ошибка PHP. Инструмент yiic - это скрипт PHP. Если сообщение об ошибке отсутствует в самом выводе, вы проверили свой журнал ошибок PHP?

...