OpenBSD4.8下,php5.3.6下安装成功,大概步骤如下:
1、pkg_add curl libtool gettext bzip2 gd libxml gmake libiconv libmcrypt mysql-client mysql-server autoconf-2.65 nginx
2、下载icu4c-4_6_1-src.tgz,编译并安装,注意一定要用gmake才能编译安装。
icu是编译intl所需,packages中的包有点老。icu官网被墙,从FreeBSD的ports中找到下载地址。
3、下载php5.3.6,编译参数为:
'./configure' '--with-mysql=/usr/local/bin/mysql' '--with-pdo-mysql' '--with-mysqli=/usr/local/bin/mysql_config' '--enable-xml' '--enable-wddx' '--enable-cli' '--enable-bcmath' '--enable-session' '--enable-calendar' '--enable-ctype' '--enable-ftp' '--with-pcre-regex' '--enable-sockets' '--enable-exif' '--enable-zend-multibyte' '--without-sqlite' '--without-pdo-sqlite' '--with-pear=/usr/local/share/php5' '--enable-mbstring' '--enable-fastcgi' '--enable-force-cgi-redirect' '--with-config-file-scan-dir=/usr/local/php5.3.6/conf/' '--enable-shared' '--disable-static' '--disable-rpath' '--with-config-file-path=/usr/local/php5.3.6' '--enable-inline-optimization' '--with-pic' '--with-zlib' '--enable-suhosin' '--prefix=/usr/local/php5.3.6' '--sysconfdir=/usr/local/php5.3.6' '--mandir=/usr/local/man' '--infodir=/usr/local/info' '--host=mips' '--enable-intl' '--with-curl' '--with-bz2' '--with-gettext' '--with-mcrypt' '--enable-soap' '--enable-zip' '--enable-ftpm' '--without-iconv'
注:(1)php5.3.6默认自带iconv,但是编译过程中,总是提示找不到iconv,看了源代码,好像是没有include<iconv.h>,所以需要把iconv先排除掉,下一步再用模块安装。
(2)默认用fpm
4、进入ext/iconv目录,切换到sh(否则会不认环境变量),export AUTOCONF_VERSION=2.65,
/usr/local/php5.3.6/bin/phpize
./configure --with-iconv --with-php-config=/usr/local/php5.3.6/bin/php-config
make&& make install
注:(1)一定要切换到sh,否则总是提示找不到环境变量
(2)要记得加上'with-iconv’,否则还是等于没有编译模块
5、在/usr/local/php5.3.6/conf/php.ini中,挂载iconv.so
6、注:启动日志用error-log来指明,默认的目录在profix指定的目录中,最好先touch一个。
7、附加:忘了加gd参数,并且默认的packages中的png过时,会导致configure错误,应该另外安装libpng。
--with-gd --with-jpeg-dir=/usr/local/bin --with-png-dir=/usr/local/libpng
注意:龙芯就不要想了,fpm过不去!而且php5.3.5以上,没有fastcgi选项,注定fcgi跟龙芯无缘。