PHP的安裝同樣需要經過環境檢查、編譯和安裝3個步驟。
1.首先用百度搜索 “PHP:Downloads”, 點擊第一個網頁:
選擇5.5.37版本,選擇 .tar.gz 格式的文件:
來到鏡像列表網站:http://php.net/get/php-5.6.23.tar.gz/from/a/mirror
找到中國的鏡像,點擊,會彈出瀏覽器下載的對話框。在對話框中,有下載的地址信息:
在CentOS7 命令行里輸入:
wget http://cn2.php.net/distributions/php-5.5.37.tar.gz
下載完成:
2. 編譯源碼並安裝
(i) ./configure 命令
進入 ~/Downloads/php-5.5.37 目錄,輸入
[root@localhost:~/Downloads/php-5.5.37] # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fpm
結果出現錯誤:
網上搜解決方案,說是要安裝 libxml2:
[root@localhost:~/Downloads/php-5.5.37]# yum install -y libxml2 [root@localhost:~/Downloads/php-5.5.37]# yum install -y libxml2-devel
安裝 libxml2 正常,但是安裝 libxml2-devel 卻顯示如下錯誤:
將軟件源從 aliyun 的源更新為 163 的源,還是不行。想起來之前備份了安裝 CentOS時自帶的源文件,便 cd 到 /etc/yum.repos.d 目錄,恢復原始的源文件 CentOS-Base.repo,接着更新cache:
yum clean all yum makecache
然后再下載 libxml2-devel
yum install -y libxml2-devel
成功!
再去 ./configure,這次參考了網上其他人的安裝經驗,改正了 ./configure 的參數,另外,使用
find / -name "libxml2"
命令查到 'yum install -y libxml2' 命令將 libxml2安裝在了 '/usr/include/libxml2'
新的 ./configure 命令如下:
[root@localhost:~/Downloads/php-5.5.37]# ./configure --prefix=/usr/local/php \ > --enable-fpm \ > --with-config-file-path=/usr/local/php/etc \ > --with-apxs2=/usr/local/apache2/bin/apxs \ > --with-mysql=/usr/local/mysql \ > --with-libxml-dir=/usr/include/libxml2 \ > --with-mysqli=/usr/local/mysql/bin/mysql_config \ > --enable-soap \ > --enable-mbstring=all \ > --enable-sockets
configure 結果如下:
成功!
(ii) make & make test & make install
make
make test
好長一段時間后:
make install
安裝成功。
3. 配置Apache與PHP關聯
(i) ‘vim /usr/local/apache2/conf/httpd.conf’ ,查找有沒有這么一條配置指令:
LoadModule php5_module modules/libphp5.so
沒有的話則自行添加這么一條配置指令。
(ii) 在 <IfModule mime_module> 段落中添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(iii) 在<IfModule dir_module>段落中添加
DirectoryIndex index.php index.html
這樣瀏覽器訪問該改服務器的主頁時,默認會先解析 index.php 文件,如果沒有 index.php 文件,再解析 index.html 文件。
(iv) 輸入如下命令查看Apache配置是否正確,如果正確,則重啟Apache服務器:
apachectl -t
#如果返回 Syntax OK,則輸入如下重啟命令
apachectl restart
4. 創建 index.php 文件
(i) 之前安裝Apache軟件的時候,在 httpd.conf 里默認配置的本機文件根目錄為 '/usr/local/apache2/htdocs':
安裝Apache成功后,默認在 htdocs 文件夾下已經生成了 index.html 文件,現在在里面重新添加 index.php 文件:
[root@localhost:/usr/local/apache2/htdocs]# vim index.php
index.php 文件內容如下:
<?php phpinfo(); ?>
(ii) 然后在宿主機瀏覽器中輸入虛擬機的IP地址進行訪問:
成功!!!!! ---------喜悅~~~~~~~~~~~~~~~~~~
可以看到 phpinfo() 函數返回的頁面中的信息正是配置和安裝PHP軟件時使用的參數的信息。
后記:之前在編譯安裝好 php后 ,因為沒有進行第 3 步的Apache與PHP的配置關聯工作,所以在宿主機瀏覽器中輸入‘192.168.1.219/index.php’ 的時候,總是彈出對話框提示用戶下載 index.php 。當時不明白怎么回事。后來在 http://unix.stackexchange.com/questions/294030/why-my-web-browser-always-downloads-the-php-page-rather-than-show-it 提問,才知道是因為沒有關聯Apache和PHP,所以 Apache不知道如何解析PHP文件,所以 index.php 就被當做了 plain text 來對待,只能下載了。現在終於成功了。