linux下安裝yii——遇到到問題和解決

因爲PHP的不少高階教材都是以LINUX做爲基礎,我也只好硬着頭皮從WINDOWS轉向LINUX,說實在的,這是個很痛苦到過程,從一個傻瓜 式到桌面系統轉到一個繁瑣到命令式系統,就像從移動電話時代回到了電報時代。又是買書看,又是上網查資料,足足用了半個月的時間才把LAMP系統搭建起 來,一個一個地編譯軟件,一遍又一遍的翻書查資料,身邊也沒能夠討教到人,因此每走一步都會遇到各類困難,都要勞心費神的解決它。這也多是由於我是個比 較較真的人,老是忍不住的想把每個細節都弄明白,因此放棄了linux下安裝軟件最便捷到RPM或DPKG方式,採起最傳統的編譯安裝方式,所以致使要 學習大量的Linux操做系統知識。 php


廢話又說多來,回到正題。因爲網上幾乎找不到一個詳細的LINUX下安裝yii方法說明,我把我到安裝過程記錄下來,以方便有須要的人們。 html


我到yii安裝環境:centos-6.三、php-5.4.八、 apache-2.2.2三、 mysql-5.0.96。 mysql


CentOS6.3 linux

我 把它叫作redhat的免費版,我原本初選的是UBUNTU的系統,在連續裝來8.04和10.04(選用這兩個老版本是因爲個人電腦硬件配置過低了—— 05年買的本本),以後發現它們缺乏不少編譯軟件所須要環境插件,且這兩個版本的distribution在我到電腦上跑得實在是不怎麼順心,因而準備換 替代品。首先想到的是Fedora,查了查資料,發現Fedora叫作面向我的系統的實驗版的reahat,用的人也不少,更新換代很快,幾個最近到版本 到硬件需求都高出了個人電腦配置水平,放棄。正好我到手邊的LINUX教材《鳥哥的linux私房菜》裏推薦的是CentOS,又再查資料,瞭解到 CcetOS是現實中搭建免費LAMP的首選,且去掉了UBUNTU、Fedora花哨功能,硬件要求不高,適合作開發。因而我便嘗試安裝最新版的 CentOS6.3,沒想到竟然成功了。在安裝CENTOS的時候,我選擇的是software development wordstation,沒有 選擇desktop版,這是由於,這個版相比desktop只默認安裝與開發和編譯相關到插件,沒有安裝其餘雜七雜八的軟件。正好適合用來搭建開發系統, 並且是用傳統的編譯安裝方法搭建開發系統。 web


PHP-5.4.8 sql

這個是PHP官方最新版的,因爲我主要是用php來開發,不是用來實際建站,故不去理會新版本的穩定性,以及zend加速器不支持5.3版本以上的PHP這兩個問題。 apache


apache-2.2.23 bootstrap

這個也是最新版的。 windows


mysql-5.0.96 centos

這版本到mysql是老版本,新版的是mysql-5.5.28,沒選擇新版是由於新版和現有PHP和APACHE、phpmyadmin有衝突,調試很麻煩,另外用到新的cmake編譯方法,我還要再安裝cmake.故選擇老的5.0.96版,且這個版比較穩定。


個人PHP、MYSQL、APACHE都統一安裝在/usr/local/lamp目錄下,這樣便於軟件管理和升級,但許也是這個緣由,致使後來到的yii安裝遇到了一個困擾我好久的問題。


sorry!仍是講來一大堆廢話。下面正式介紹安裝YII。


官方關於YII的linux下安裝,歸納只有2句話1個提示:


2句話:

a、 下載YII文件壓縮包。b、把解壓縮後到YII文件包放到服務器能夠訪問到目錄。若是你是用yum或apt安裝到lamp環境,因該是放到/var /www(有的Linux是放在/var/www/html)文件夾裏,若是你是像我同樣,一個一個安裝php mysql apache到/usr /local/lamp下的,就應該把yii文件夾放到/usr/local/lamp/apache/htdocs裏。


1個提示:

 在 MacOS、Linux 或 Unix 系統中運行 yiic 時,你可能須要修改 yiic 文件的權限使它可以運行。你也
可 以用 php YiiRoot/framework/yiic.php 來代替 yiic。(這個就是關鍵點)爲何會又這個提示,用過Linux的人都 應該知道,linux的一個特色就是權限,若是root沒有把一個文件的使用讀、寫、執行權限某個用戶的話,他就沒法沒法對這個文件讀、寫、執行。而 yiic是調用php腳本去執行webapp的建立的。若是yii和php文件各自所屬到用戶和組羣在文件到權限上有衝突,那麼你就沒法使用yiic建立 webapp。因此你須要配置好yii和php這個兩文件的權限。通常最簡單的方法就是在這兩個文件夾下運行這條命令:chmod -R 777 .注 意,不要漏了小原點。這條命令表示,全部用戶都對當前目錄及其子目錄的全部文件有讀、寫、執行到權限,這條命令其實對系統安全性又很大的威脅。若是你是準 備把lamp和yii上線運行的,還要再好好研究一下linux,再詳細設置,因爲個人lamp只用於開發,無需估計太多系統安全性,因此對此不做細講。


一 般來講,若是你用的是yun、apt方式安裝到lamp,並且運氣好,這時候在yii也就安裝完畢了,可使用了。使用yii建立應用的命令是「yii- dir/framework/yiic webapp",好比我把YII安裝在/usr/local/lamp/apache/htdocs下,因此我使 用YII建立應用到命令就是/usr/local/lamp/apache/htdocs/yii/framework/yiicwebapp」,若是你已經處於yii的framework目錄下能夠用「./yiic」這個命令。其實上面的yiic運用方法能夠簡化的。不過這個我還沒弄明白,故暫不講。


不過,若是你是像我同樣背,又是採起一個一個的編譯安裝lamp軟件的方法搭建開發環境。估計會遇到如下這樣到問題。


一、「/usr/bin/env: php: 沒有那個文件或目錄」

爲 什麼會有這個問題呢?前面講過,yiic是使用php腳本建立webapp到,啓動yiic到時候,它會自動到/usr/bin/路徑下找php執行文 件,若是你是用yum或apt方法安裝php的,/usr/bin/路徑下是有這個文件的,你運行yiic也就一切順利,但若是你是像我同樣編譯安裝 php到/usr/local下到,yiic運行時用到到php執行文件就在/usr/local/lamp/php/bin/路徑下,因爲yiic不認 識/usr/local/lamp/php/bin/路徑,因此有了上面的錯誤提示「/usr/bin/env: php: 沒有那個文件或目錄」。


怎麼解決?

使 用windows成習慣的你也許立刻就會想到,把/usr/local/lamp/php/bin/路徑下執行文件拷貝到/usr/bin/路徑下,行 嗎?不行!爲何?由於Linux系統下的軟件都是編譯安裝的,彼此間到關聯性很高,編譯好的文件,脫離到原來編譯環境,是沒法運行的,須要從新配置。這 個方法不行那該怎麼辦呢?對linux有必定了解的你也許會想到,在/usr/bin/和/usr/local/lamp/php/bin/創建一個鏈 接,或許既能夠來,能夠用如下命令:「ln -s /usr/local/lamp/php/lib/php /usr/bin/」,這條命令確實其做用 來,yiic如今能夠調用php了。但老問題解決了新問題又來了。如今又出現來這個問題:


二、「/usr/bin/env: php:權限不夠「

yiic 能夠調用php了,但權限不夠,也許你也像我同樣發懵來,在安裝的時候不是已經設置權限到麼?如今怎麼又沒有權限了。因爲我仍是linux菜鳥,實在是想 不出來解決方法。萬般無奈之下,只能使出鎮山之寶——google的二奶baidu(萬惡到***竟然屏蔽了google),結果如何?就像包二奶同樣, 空歡喜一場,國內彷佛不多人用linux使yii到,找不到任何資料。這時候,我忽然抓住了一根救命稻草——yii官網。終於在官網到論壇上找到一個老外 到帖子——終於遇到「同是天涯落難人」了。


得出解決的方法:

用vi打開yiic,把「#!/usr/bin/env php」 改成「!#/usr/local/php/bin/php(也就是你php路徑)"好比按照個人系統上到php路徑改成:「!#/usr/local/lamp/php/bin/php」.


#!/usr/bin/env php   //*************就是改動這裏**************
<?php
/**
 * Yii command line script for Unix/Linux.
 *
 * This is the bootstrap script for running yiic on Unix/Linux.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link [url="http://www.yiiframework.com/"]http://www.yiiframework.com/[/url]
 * @copyright Copyright &copy; 2008 Yii Software LLC
 * @license [url="http://www.yiiframework.com/license/"]http://www.yiiframework.com/license/[/url]
 * @version $Id: yiic 702 2009-02-18 19:29:48Z qiang.xue $
 */


require_once
(dirname(__FILE__).'/yiic.php');



至此,linux下的yii安裝成功!

多謝各位看官了,兩句話就解決的問題,硬是讓我嘮叨成這麼一兩千字。
相關文章
相關標籤/搜索