聽說你PHP配置Composer遇到了一些困境

前情提要

最近在寫PHP通信接口,涉及到數(shù)據(jù)庫CRUD操作時,覺得PHP原生方法每次都要寫SQL語句,效率不高,于是嘗試使用Propel orm框架,此文記錄PHP配置Propel步驟,以作備份。

PS:其實筆者看了《PHP ORM框架Propel VS Doctrine》一文后,感覺Doctrine框架更加豐富。

寫在配置前

配置需求:

  • PHP 5.5或以上
  • 可支持的數(shù)據(jù)庫(MySQL, MS SQL Server, PostgreSQL, SQLite, Oracle)

配置Propel有三種途徑,分別為:

  • Composer管理工具
  • Git指令獲取
  • Tar或Zip壓縮包

Composer

使用Composer指令需要先下載Composer工具,Propel官網(wǎng)提供了方法如下,在項目根目錄創(chuàng)建一個名為composer.json的文件,在文件中輸入內(nèi)容如下:

{
    "require": {
        "propel/propel": "~2.0@dev"
    }
}

然后使用終端(Mac、Linux)或命令行(Windows)在項目根目錄下輸入指令如下:

// 下載composer.phar
$ wget http://getcomposer.org/composer.phar
// 如果沒有wget指令,可使用curl指令下載
$ curl -s http://getcomposer.org/installer | php
// 通過composer.phar安裝composer
$ php composer.phar
// 下載composer依賴,其中包括propel
$ composer install

但是這種方法會在執(zhí)行第一條指令時出現(xiàn)下載中斷情況!筆者嘗試翻墻,但還是下載中斷,可能與筆者的網(wǎng)速有關(guān),如果讀者們遇到這種情況,可以嘗試Composer中國鏡像推薦的方法來下載composer。
中國鏡像推薦的方法是先下載composer-setup.php文件,然后執(zhí)行該文件下載composer.phar文件,再執(zhí)行composer.phar文件,安裝Composer。這一安裝過程通過執(zhí)行如下指令實現(xiàn):

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"

但是這里還是有一個坑?。?!當網(wǎng)速不是很給力的時候,第一條指令下載過來的composer-setup.php文件內(nèi)容是不完整的。如下圖所示,左邊是不完整的文件內(nèi)容,右邊是完整的文件內(nèi)容。

文件內(nèi)容不完整

當文件內(nèi)容不完整時,執(zhí)行第二條指令php composer-setup.php,會出現(xiàn)類似如下錯誤:
報錯信息

因此上述指令中的第一條指令需要換為手動在瀏覽器搜索欄輸入網(wǎng)址https://getcomposer.org/installer下載文件,然后將文件名稱更改為composer-setup.php,放入項目根目錄,其他兩條指令照常執(zhí)行。
通過上述操作可得到composer.phar文件,這時候在項目根目錄新建一個名為composer.json的文件,輸入內(nèi)容如下:

{
    "require": {
        "propel/propel": "~2.0@dev"
    }
}

然后在該文件中添加國內(nèi)鏡像,添加后的文件內(nèi)容為:

{
    "require": {
        "propel/propel": "~2.0@dev"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

然后執(zhí)行如下指令來安裝Composer:

$ php composer.phar

安裝完Composer后,執(zhí)行下面指令,安裝依賴,其中包括Propel:

$ composer install

這時會發(fā)現(xiàn)下載速度明顯提高了很多,但是還是要提醒讀者朋友們,在下載propel/propel的時候,是要等比較久的時間的。至此Composer方式安裝Propel的方法講解完畢。

Git

在項目根目錄執(zhí)行指令:

git clone git://github.com/propelorm/Propel2 vendor/propel

待下載完成,即可得到Propel。這種方式下載來的Propel是穩(wěn)定版的,若讀者們希望得到最新版的Propel,可到propel目錄下執(zhí)行如下指令來實現(xiàn):

$ cd myproject/vendor/propel
$ git pull

這種方式筆者有嘗試過,但是發(fā)現(xiàn)會出現(xiàn)下載中斷的現(xiàn)象!

壓縮包

除了上述兩種配置方式,還可以通過下載安裝包(壓縮包)的方式進行配置。在項目根目錄中創(chuàng)建vendor文件夾,到該文件夾中執(zhí)行下載壓縮包指令:

// 下載壓縮包
$ wget http://files.propelorm.org/propel-2.0.0.tar.gz
// 解壓壓縮包
$ tar zxvf propel-2.0.0.tar.gz
// 將解壓后的文件重命名為propel
$ mv propel-2.0.0 propel

當然讀者們也可以通過在瀏覽器搜索欄直接輸入http://files.propelorm.org/propel-2.0.0.tar.gz的方式下載壓縮包,然后將壓縮包解壓到新建的vendor文件夾中。
這種配置方式,筆者也有嘗試過,但是發(fā)現(xiàn)也會存在下載中斷找不到資源的問題,所以筆者果斷回到第一種方式,雖然它麻煩,但是確是可以完整安裝配置Propel的方法!

參考鏈接

https://pkg.phpcomposer.com/
http://propelorm.org/documentation/01-installation.html#via-composer

寫在最后

筆者作為PHP初學(xué)者,寫這樣一篇文章多少有“關(guān)公門前耍大刀”之意,文中有錯誤的地方,歡迎在文章下方留言批評指正,感謝閱讀!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容