似乎Yii现在很流行,所以使用composer(而不是手动安装你的PHP库),所以我决定给他们一个尝试。
总之,这是我的步骤。
mkdir "yii-dev" in varwwwhtml (我的盒子运行Debian 7 64)
mkdir -p yii-devprotectedconfig。
在yii-devprotectedconfig中创建一个composer.json。
{ "repositories": [ { "type":"composer", "url": "http://packages.phundament.com" } ], "require": { "php": "5.6.5", "yiisoft/yii": "1.1.6", "yiiext/migrate-command": "0.7.2" }, "config": { "bin-dir": "bin/" }, "autoload": { "psr-0": { "config": "./" } }, "scripts": { "pre-install-cmd": "config\\ComposerCallback::preInstall", "post-install-cmd": "config\\ComposerCallback::postInstall", "pre-update-cmd": "config\\ComposerCallback::preUpdate", "post-update-cmd": "config\\ComposerCallback::postUpdate", "post-package-install": ["config\\ComposerCallback::postPackageInstall"], "post-package-update": ["config\\ComposerCallback::postPackageUpdate"] } }
<?php return array( 'aliases' => array( 'vendor' => 'application.vendor', ), 'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR .'..', 'name' => 'My Awesome Yii Site', 'components' => array( 'db' => array( // PostgreSQL 'connectionString' => 'pgsql:host=localhost;dbname=yii_dev', 'emulatePrepare' => true, 'username' => 'yii', 'password' => 'yii123', 'charset' => 'utf8', ), ), 'params' => array( 'composer.callbacks' => array( // args for Yii command runner 'yiisoft/yii-install' => array('yiic', 'webapp', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'), 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ), ), );
然后当我运行 "composer install "时,我得到了这样的结果。
$ composer install
Phundament 3 Installernn * 下载composer.json中指定的包。
- no] yes
PHP Fatal error: Class 'config\Yii' not found in [yesvarwwwhtmlyii-devprotectedconfigComposerCallback.php第182行。
致命的错误,在varwwwhtmlyii-devprotectedconfigComposerCallback.php第182行没有找到'config\Yii'类。在varwwwhtmlyii-devprotectedconfigComposerCallback.php第182行没有找到'config\Yii'类。
如何解决这个问题?
这可能是个很老的问题了。但我今天还是遇到了同样的问题,要给我们现有的一个使用Yii1.1的老系统配置composer。这就是我所做的,它的工作。
我的项目结构是。
project_dir/website/protected/
project_dir/website/index.php
所以,我在网站目录下安装了composer。
在本地安装composer
$ cd website/
/website$ curl -sS https://getcomposer.org/installer | php
/website$ php composer.phar -h
如果要更新系统,要求自动加载.php,在websiteprotectedconfigmain.php中添加以下内容。
require_once( dirname(__FILE__) . '/../../vendor/autoload.php');
在网站的.htaccess中添加以下内容。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} vendor/ [OR]
RewriteCond %{REQUEST_FILENAME} composer.phar [OR]
RewriteCond %{REQUEST_FILENAME} composer.json [OR]
RewriteCond %{REQUEST_FILENAME} composer.lock
RewriteRule . index.php
都搞定了。你想装什么就装什么
composer require packegeName
参考文献 https:/devreadwrite.compostsadd-thecomposer-to-theapplication-on-yii。