sudo cp libz.so.1.2.3 /opt/Mozart_Toolchain/arm-eabi-uclibc/lib/
cd /opt/Mozart_Toolchain/arm-eabi-uclibc/lib/
ln -s libz.so.1.2.3 libz.so
当然,亦可以拷贝开发板上编译好的libz.so.1.2.3
Q4:php-5.2.17/ext/standard/basic_functions.c:6468: undefined reference to `getloadavg'
A: 查看getloadavg手册
man getloadavg
DESCRIPTION
The getloadavg() function returns the number of processes
in the system run queue averaged over various periods of time.
可知道这是一个统计负载的API
查看crosstools下的接口定义:
grep -Rr "getloadavg" /opt/Mozart_Toolchain/arm-eabi-uclibc/include/
/opt/Mozart_Toolchain/arm-eabi-uclibc/include/stdlib.h:extern int getloadavg (double __loadavg[], int __nelem)
解决方法:
一:添加头文件stdlib.h和链接相应的lib
二:注释掉getloadavg的功能
bean选择方法二:
gedit main/php_config.h
注释掉含有HAVE_GETLOADAVG的定义
#define HAVE_GETLOADAVG 1
---------------------->
//#define HAVE_GETLOADAVG 1
Note:
以下同质问题和解决
undefined reference to `__dn_skipname'
#define HAVE_DN_SKIPNAME 1
---------------------->
//#define HAVE_DN_SKIPNAME 1
undefined reference to `__res_nsend'
#define HAVE_RES_NSEND 1
---------------------->
//#define HAVE_RES_NSEND 1
undefined reference to `strfmon'
#define HAVE_STRFMON 1
---------------------->
//#define HAVE_STRFMON 1
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
配置:
此时在sapi/cgi/下已经生成php-cgi
file sapi/cgi/php-cgi
sapi/cgi/php-cgi: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
如果测试稳定,可以strip
将php-cgi拷贝至web server的cgi-bin/
sudo cp sapi/cgi/php-cgi /home/zhaohui/NFS_09_10/rootfs/exchange/boa/www/cgi-bin/
Note
php-cgi应该在boa.conf的/cgi-bin/定义的目录下
bean的定义如下
ScriptAlias /cgi-bin/ /exchange/boa/www/cgi-bin/
测试:
在boa.conf中查看DocumentRoot的定义
在DocumentRoot定义的目录下创建测试文件
bean的DocumentRoot定义
DocumentRoot /exchange/boa/www
cd /exchange/boa/www
touch phpinfo.php
vi phpinfo.php
添加以下内容:
///////////////////////////////////////////////////////////////////////
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>