【原創】
看到此文的朋友看完后也許會失望,但我盡最大努力不讓搜友們失望,以下是自己操作的筆記用以整理提高
雖然 laravel 官方已給出了安裝 laravel 框架所需的環境盒子 使用Vagrant安裝 LaravelHomestead 但是那個也不好弄關鍵是體積比較大,所以就想自己嘗試下手動編譯安裝 laravel 所需的官方標配的php擴展:
- PHP> = 7.0.0
- OpenSSL PHP擴展
- PDO PHP擴展
- Mbstring PHP擴展
- Tokenizer PHP擴展
- XML PHP擴展
這些都好裝,一個一個下載并編譯安裝即可,安裝的方式多樣化,有的從PHP資源包重新源碼編譯,有的yum安裝,有的下載tgz包編譯安裝,由于周期比較長所以我并沒有記錄所有的安裝方式,以下記錄 mbstring 擴展的安裝過程及連帶的一些擴展
編譯環境是什么?正文如下:
一、安裝mbstring擴展
php的mbstring擴展如果沒有安裝會導致一些問題:如登陸phpMyAdmin的時候會提示沒字符串編碼和字符串處理庫 php_mbstring,有些程序中會用到mb_substr函數沒有php的mbstring擴展當這些程序運行的時候通常會提示“Fatal error: Call to undefined function mb_substr()”。【摘自網絡】
- yum -y install php-mbstring
- 配置php.ini支持該擴展,php.ini文件中添加 extension=mbstring.so
- 重啟php-fpm即可
ps:編譯安裝php程序后 通過yum 安裝的php擴展都會出現在/usr/local/php7-miao/lib/php/extensions/no-debug-non-zts-20160303錄下,在這個目錄下的擴展直接在php.ini文件中寫入如 extension=mbstring.so即可(不用添加其他目錄前綴)
二、嘗試 laravel new [項目名稱] 命令
laravel容器實現原理,由于我前期安裝了laravel cli 工具(安裝方式官網有介紹:composer global require "laravel/installer")所以這里直接用此cli工具創建基于laravel框架的項目,命令:laravel new travel 報錯如下圖所示
這里是說php沒有安裝zip擴展,所以接下來就開始安裝zip擴展,又遇到報錯:說是缺少libzip所以無法編譯zip擴展,確實,安裝zip擴展必須先安裝libzip擴展,兩個擴展安裝如下:
安裝libzip:
首先移除老版本的libzip:yum remove libzip。然后按如下步驟安裝。
(1) wget https://libzip.org/download/libzip-1.3.2.tar.xz
(2) tar -zxvf libzip-1.3.2
(3) cd libzip-1.3.2
laravel框架運行原理。(4) ./configure
(5) make && make install
ps:libzip下載地址:https://libzip.org/download/ (當你使用時最好使用其最新版本,低版本的libzip無法使zip擴展編譯通過)
安裝zip:
(1) wget http://pecl.php.net/get/zip-1.15.1.tgz
(2) tar zxvf zip-1.15.1.tgz
python需要編譯嗎、(3) cd zip-1.15.1
(4) phpize
(5) ./configure --with-php-config=php-config
(6) make && make install
ps1:zip擴展下載官網:http://pecl.php.net/package/zip (當你使用時最好下載最新版本)
ps2:我這里第4步第5步直接使用php的兩個命令 phpize 和 php-config 而沒有像其他博文那樣加著一大堆路徑的原因很簡單,因為加那么大串路徑寫起來麻煩,所以就把我編譯安裝的php的bin目錄放到了 /etc/profile 中(即:將可執行命令添加到全局環境變量,并對所有用戶生效,在/etc/profile文件末尾添加語句 export PATH="/usr/local/php7-miao/bin:$PATH" (PATH路徑視自己的目錄而定)添加完后保存退出并執行命令 source /etc/profile 立即使添加的可執行命令生效)
ps3:安裝完成后該擴展同樣會保存在/usr/local/php7-miao/lib/php/extensions/no-debug-non-zts-20160303目錄中。
安裝完zip擴展后修改php.ini文件:
python編程環境安裝?(1) 添加擴展路徑 extension = zip.so
(2) zlib.output_compression = On
至此完成安裝。
在次嘗試laravel new [項目名稱] (在你的服務器生產環境目錄下執行該命令,創建項目)如創建項目為 travel:
- laravel new travel
結果成功了,如下圖:
成功會輸出如下結果: - 如果還有受laravel環境安裝困擾的伙伴歡迎加Q:1456483934