php5.4.5移植到arm-linux摘要.
因為有嵌入WEB服務的需求,再常識了N多的開源的嵌入服務后最終選擇了lighttpd.Apache太大支了,而且在arm上對swf的支持不好.
其他的都不怎么理想.
lighttpd的移植過程就省略了。這里只摘要了PHP移植,采用fastcgi與lighttpd?協作.
php版本:php5.4.5
交叉編譯設置參數:
./configure?--enable-fastcgi?--enable-force-cgi-redirect?--enable-discard-path?--disable-cli?--without-iconv?--enable-mbstring?--enable-pdo=shared?--with-sqlite=shared?--with-pdo-sqlite=shared?--host=arm-linux
*5.3以后的版本默認就支持fastcgi,所以上面的fastcgi的配置會提示不存在,不用理會.
//arm方案
export?CC="arm-hisiv200-linux-gcc"
//編譯
make
*make中,會有各種庫或頭文件的引用,另行安裝編譯然后修改MakeFile即可;
//編譯后
1、在sapi/cgi/下即是得到的可執行文件:php-cgi;
2、在板子上任意目錄建1個文件夾?'php',將php-cgi復制到該目錄中;
3、編輯lighttpd.conf基本配置信息,注意其內嵌配置文件?'modules.conf';
4、編輯'modules.conf':
//server.module修改,注意其關聯的'fastcgi.conf'
server.modules?=?(
"mod_access",
#??"mod_alias",
#??"mod_auth",
"mod_evasive",
"mod_redirect",
"mod_rewrite",
#??"mod_setenv",
#??"mod_usertrack",
)
5、編輯fastcgi.conf:確保包含'server.modules+=("mod_fastcgi")'
fastcgi.server?=?(?".php"?=>
(?"php-local"?=>
(
"socket"?=>?"/tmp/php-fastcgi.socket-0",
"bin-path"?=>?"/home/yjm/php/php-cgi",
"max-procs"?=>?1,
"broken-scriptfilename"?=>?"enable",
)
),
(?"php-tcp"?=>
(
"host"?=>?"127.0.0.1",
"port"?=>?9999,
"check-local"?=>?"disable",
"broken-scriptfilename"?=>?"enable",
)
),
(?"php-num-procs"?=>
(
"socket"?=>?"/tmp/php-fastcgi.socket-1",
"bin-path"?=>?"/home/yjm/php/php-cgi",
"bin-environment"?=>?(
"PHP_FCGI_CHILDREN"?=>?"16",
"PHP_FCGI_MAX_REQUESTS"?=>?"10000",
),
"max-procs"?=>?5,
"broken-scriptfilename"?=>?"enable",
)
),
)
6、可建立一個php頁面index.php:,運行頁面后注意:
Configuration?File?(php.ini)?Path?,如果沒有可參照[7];
7、可將php源碼中的php.ini-recommended改名為php.ini,復制到板子的目錄/usr/lib中;
*?之所以要寫這個筆記,是因為這個移植完全是手工的,沒有任何安裝過程,現在配置完成后終于有點理解了。