編譯前的準(zhǔn)備工作:需下載的源碼:
Libxml2-2.6.26.tar.gz Zlib-1.2.3.tar.bz2 (http://www./)
php-5.3.3.tar.gz 編譯步驟如下:
1. 首先交叉編譯zlib。解壓Zlib-1.2.3.tar.bz2 cd Zlib-1.2.3 CC=arm-linux-gcc ./configure --sahred --prefix=/usr/local/arm/3.4.1/arm-linux make&&make install (一開(kāi)始我把zlib裝在獨(dú)立的目錄下,編譯php時(shí)在用上--with-zlib選項(xiàng)還是報(bào)錯(cuò),后來(lái)直接安裝到我交叉編譯器目錄/usr/local /arm/3.4.1/arm-linux下就不報(bào)錯(cuò)了。)
2. 接著交叉編譯libxml2。解壓Libxml2-2.6.26.tar.gz cd Libxml2-2.6.26 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/arm/3.4.1/arm-linux make&&make install (安裝到/usr/local/arm/3.4.1/arm-linux下的原因同上)
3. 交叉編譯php-5.3.3。解壓 php-5.3.3.tar.gz cd php-5.3.3
(1) CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/php-arm --disable-all --enable-pdo --with-sqlite --with-zlib --without-iconv (用--with-apxs2選項(xiàng)會(huì)報(bào)錯(cuò),所以選擇了編譯成cgi模式)
(2) make&&make install
(3) 將PHP源碼包中php-5.3.3.ini-development文件復(fù)制到/usr/local/php-arm/lib下并改名為php.ini。
(4) 用arm-linux-strip把bin目錄下的php和php-cgi進(jìn)行strip。
(5) 將php-arm文件件拷貝到arm板上的/usr/local目錄下。
(6) 最后修改arm板上apache的配置文件httpd.conf。
添加如下語(yǔ)句:
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.phtml
ScriptAlias /php5/ "/usr/local/php-arm/bin/" # 注意 "/usr/local/php-arm/bin/" 中最后一個(gè)"/"不可少
AllowOverride None
Options None
Order allow,deny
Allow from all
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php5/php-cgi"
大功告成!在arm上寫(xiě)一個(gè)phpinfo測(cè)試頁(yè)面。在瀏覽器里輸入:http://192.168.2.168(本機(jī)IP):8080/test.php(我設(shè)置的監(jiān)聽(tīng)端口為8080),可以看到php相關(guān)信息。
(一開(kāi)始我把pdo、sqlite編譯成動(dòng)態(tài)模塊,可是在phpinfo下始終看不到pdo、sqlite信息,查看錯(cuò)誤日志說(shuō)是無(wú)法加載動(dòng)態(tài)庫(kù),動(dòng)態(tài)加載不支持,不知道怎么改,索性將其編譯成靜態(tài)的,一切就ok了)