php-5.5.8.tar.gz
2.安裝
解壓後進入解壓目錄,執行
(其中,--prefix選項指定了安裝目錄;--with-mysql選項指定了支援的mysql服務所在的目錄;--with-apxs2選項指定了 php要使用的apache應用所在的目錄;--with-config-file-path選項則是指定了php配置檔案所在的目錄。)
直接這樣執行後,將會看到這樣乙個錯誤:
configure: error: xml2-config not found. please check your libxml2 installation.
與編譯mysql時相同,這是由於系統缺少php所需的庫檔案導致的,根據提示,進行如下操作:
sudo apt-get install libxml2
將會看到如下資訊:
libxml2 libxml2-dev libxml2-headers libxml2-utils
這裡需要安裝的是libxml2-dev軟體包(該軟體為ubuntu-server自帶的,需要使用ubuntu-server光碟安裝),操作如下:
sudo apt-get install libxml2-dev
3.配置
庫檔案安裝完成後,重新配置php,操作如下:
4.完成編譯安裝
編譯完成後將會看到「thank you for using php.」的字樣,表明php已經配置成功了。
接下來編譯、安裝php,操作如下:
sudo make
sudo make install
5.配置apache伺服器
安裝完php後,還需要手動修改一下apache的配置,以便使apache支援php,操作如下:
此外,不要忘了將php安裝目錄中的php.ini-recommended檔案拷貝到編譯時指定的php配置檔案目錄/opt/php/etc下,在php原始碼包目錄「php-5.2.6」中操作如下:
cd /usr/local/src/php-5.5.8
sudo cp php.ini /usr/local/development/php/etc/php.ini
全部配置完成後,不要忘了重啟apache,以便使新的配置生效。
sudo /etc/init.d/apachectl restart
6.完成測試
<?php
phpinfo();
?>
儲存退出後,在瀏覽器中輸入「http://ip/index.php」,如果配置正確,就能夠看到剛剛配置好的伺服器相關資訊了,其中包括 apache、mysql以及php的版本、安裝路徑、配置情況等。如果看到的只是「phpinfo();」字樣,說明apache沒能正確支援php,請檢查上述的配置過程是否都已經正確完成。
7.特別說明
在php配置過程中有
配置命令列中有 --with-mysql=/usr/include/mysql
此時出現如下錯誤
configure:
error
: cannot find
mysql header
files under /usr/include/
mysql
網上查到如下方式解決(此方式未成功,在此僅作為記錄)
sudo apt-get install libmysqlclient-dev 安裝此軟體開發包
然後在/usr/include/mysql裡可以找到mysql.h (也可以用#find / -name mysql.h命令搜尋)
編譯的時候 gcc xx.c -o xx -l /usr/include/mysql -l mysqlclient
最終解決方案
即使用如下配置引數
--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-mysql=mysqlnd
原因說明:
php5.3以後,php無需指定mysql編譯路徑了
mysqlnd是php5.3以後加入的mysql系列擴充套件。
由於版權問題,php5中沒有預設支援mysql,不像以前的php4那樣可以直接使用mysql函式。mysql支援還需要把libmysql.dll複製到windows目錄,然後修改php.ini等等,比較麻煩。
它是新的函式庫,libmysql有的功能它幾乎都有,但是mysqlnd並不像libmysql那樣作為通用庫,它是專門為php而寫的乙個庫,用了php的內在管理函式以及一些網路流的函式。
php最近發布了5.3版本,在該版本當中,提供了乙個mysqlnd庫,用來訪問mysql資料庫,大大提公升了php的資料庫訪問效能。
我們知道,php訪問mysql資料庫,是通過mysql資料庫的libmysql client庫,這個libmysql client是用c/c++編寫的,雖然一直以來php通過libmysql訪問資料庫效能也一直很好,但是卻無法利用php本身的很多特性。
mysqlnd提供了和zend引擎高度的整合性,更加快速的執行速度,更少的記憶體消耗,利用了php的stream api,以及客戶段快取機制。由於mysqlnd是透過zend引擎,因此提供提供更多高階特性,以及有效利用zend進行加速。
ubuntu 12 04 編譯安裝 nginx
編譯前先安裝兩個包 直接編譯安裝會碰到缺少pcre等問題,這時候只要到再安裝兩個包就ok sudo apt get install libpcre3 dev aptitude libssl dev這樣再make install就可以成功了 執行如下操作來安裝openssl及其開發函式庫 sudo a...
Ubuntu1204 編譯安裝Ice3 5 0
花了一下午在 ubuntu1204 下編譯安裝ice3.5.0,過程比較順利,和以前編譯vlc什麼的比起來,得算是愉快的經歷了。回想一下由兩個原因,一是第三方依賴庫少 我只編譯了cpp 所以只有5個依賴庫 第二是第三方依賴庫要麼可以通過apt get輕鬆獲得,要麼直接提供原始碼 且原始碼可以直接編譯...
ubuntu12 04安裝攻略
之前 在vmware下安裝ubuntu12.04 64位系統,各種問題,又換成32位的,所有軟體都要重新來查詢,這裡記錄一下,以備以後還要用。二 在vmware 中新建乙個新的虛擬機器,選擇安裝映象檔案 安裝完ubuntu,登陸之後出現黑屏,有可能是3d加速被開啟了,關閉方法為 開啟虛擬機器配置檔案...