1. 程式人生 > >Linux安裝PHP

Linux安裝PHP

dev 重啟 測試 解壓 sans error esp eve etc

下載PHP:

官網地址:http://cn2.php.net/

下載頁面:http://cn2.php.net/get/php-7.1.6.tar.gz/from/a/mirror

技術分享點擊下載

tar -zxf 解壓

可以通過 ./configure --help 查看幫助。

配置:註意with-apxs2 httpd路徑和 with-pdo-mysql 路徑。

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/lib --with-pdo-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib

可能會遇到錯誤:configure error xml2-config not found. please check your libxml2 installation

解決辦法:

檢查是否安裝了libxm包 [[email protected] software]# rpm -qa |grep libxml2 libxml2-2.6.26-2.1.12 libxml2-python-2.6.26-2.1.12 重新安裝libxml2和libxml2-devel包, yum安裝的時候發現新版本會提示更新,需要更新的可以更新,不要跳過就行了。 [[email protected]
/* */ /]# yum install libxml2 [[email protected] /]# yum install libxml2-devel -y 安裝完之後查找xml2-config文件是否存在 [[email protected] /] # find / -name "xml2-config" /usr/bin/xml2-config 然後重新執行./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/lib --with-pdo-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib

配置成功:

技術分享

技術分享

在make之前還要做一個mysql的header文件的軟連接。因為mysql安裝的時候指定了目錄,不做軟連接的話,還是找不到header文件。

   ln -s /usr/local/mysql/include/* /usr/local/include/

執行make 編譯

執行 make install 安裝

安裝包中的php.ini-production拷貝到/usr/local/php/lib/下即可

cp php.ini-production /usr/local/lib/php.ini

在httpd.conf配置文件中查找 LoadModule php7_module modules/libphp7.so

如果沒有搜索到(一般都是可以搜索到的),就將這段指令添加到httpd.conf配置文件中,使apache可以加載libphp7.so模塊,並進行php文件的解析。

在httpd.conf配置文件中再添加一段指令:<FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php</FilesMatch>

這段指令告訴apache,碰到文件名以.php, .php2, .php3, .php4, .php5, .php6或phtml結尾的文件使用libphp7.so模塊進行解析。其中"\.ph(p[2-6]?|tml)$"為正則表達式,你可以隨意更改,只要符合PCRE正則表達式語法,都可以。

接下來,在Vim中搜索”DirectoryIndex“字符串,大家可以看到已經有index.html了,在index.html後面添加 index.php index.phtml

進入/usr/local/apache2/htdocs目錄:cd /usr/local/apache2/htdocs創建一個測試文件:touch t.php用Vim打開它添加:<?php phpinfo();?>然後就可以通過瀏覽器訪問了:

技術分享



如果php的頁面不能夠解析,需要重啟httpd服務,最好是殺死每個進程,然後再重啟。
如果遇到這樣的錯誤:
錯誤 324 (net::ERR_EMPTY_RESPONSE):服務器已斷開連接,且未發送任何數據。
找到php.ini,加上配置
error_reporting = E_ALL & ~E_NOTICE
,忽略E_NOTICE報錯,重啟apache 解決問題。

如果瀏覽器還是打不開,需要關閉防火墻。

/etc/init.d/iptables stop

執行命令php 提示 command not found 解決方案
yum install php-devel



Linux安裝PHP