安裝好了Apache和mariadb,我的lamp系統就差最後一個p—–php了.
安裝准備
依賴包的安裝: php需要php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 這些依賴,還是用yum安裝
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel
准備php源碼包:下載地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 這是其他版本下載地址 使用wget下載
wget http://cn2.php.net/distributions/php-7.1.1.tar.gz
或者在桌面環境下載好再上傳到服務器. 創建php安裝目錄
mkdir /usr/local/php71
開始安裝
tar -xf php-7.1.1.tar.gz #解壓源碼包
cd php-7.1.1 #進入源碼包目錄
./configure prefix=/usr/local/php71/ with-apxs2=/usr/local/apache24/bin/apxs enable-mbstring with-curl with-gd enable-fpm enable-mysqlnd with-pdo-mysql=mysqlnd with-config-file-path=/usr/local/php71/etc/ with-mysqli=mysqlnd #配置編譯參數
- –prefix 安裝目錄
- –with-apxs2 apache文件所在目錄
- –enable-mbstring 支持mbstring
- –with-curl 支持curl
- –with-gd 支持gd
- –enable-fpm 支持fpm
- –enable-mysqlnd –with-pdo-mysql pdo支持
- –config-file-path php配置文件搜索目錄
編譯安裝
make && make install
等待時間比較長.. 在源碼包中有兩個配置文件—— php.ini-development(用於開發環境)和php.ini-production(用於生產環境) ,這裏我使用開發環境,把他拷貝到指定目錄(上面–config-file-path指定的目錄)更名為php.ini
cp php.ini-development /usr/local/php71/etc/php.ini
有需要還可以對php.ini文件進行修改.
對Apache配置文件httpd.conf進行修改添加以下內容對 php文件進行處理
Addtype application/x-httpd-php .php
重啟Apache服務器
systemctl restart httpd
下面我們可以在網頁目錄下創建一個test.php文件裏面的內容為:
<?php phpinfo(); ?>
echo "<?php phpinfo(); ?>" >>/data/web/test.php #輸出測試文件到網頁根目錄
就說明安裝成功了
安裝擴展
當安裝完成後我們要安裝擴展時就要重新編譯xxxxxx.so的擴展文件 這裏我以安裝openssl擴展為例子:
還是先安裝依賴openssl和openssl-devel…
yum -y install openssl openssl-devel
在源碼包的 ext目錄下著許多的文件夾他們都是php擴展openssl也在其中,進入到openssl文件夾
cd ext/openssl
用
ls
查看目錄的文件如果有 config0.m4 文件則把他拷貝為 config.m4 保證在openssl目錄下有 config.m4文件
ls #查看當前目錄的內容
cp config0.m4 config.m4 #拷貝 config0.m4為 config.m4
調用我們編譯好的 phpize 它在php安裝目錄下的bin目錄中
/usr/local/php71/bin/phpize
這時會生成很多文件我們可以用
ls
查看 其中有我們編譯需要的configure文件表
編譯安裝
./configure with-php-config=/usr/local/php71/bin/php-config
make && make install
這是在php的擴展目錄(默認為php安裝目錄下的lib/php/extensions/no-debug-zts-xxx目錄,我的是/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012)會有相應的.so文件也就是openssl.so,在php.ini文件裏面加上該擴展
編輯php.in
vim /usr/local/php71/etc/php.ini
加上以下內容
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so
重啟Apache
systemctl restart httpd
完成安裝