在linux中php安装配置与windows中有不小的区别了,在linux中几乎都是代码形式了,下面我们一起来看看php5.3.10的安装配置步骤详解,希望下文可帮助到各位。 下面以最新的php-5.3.10为例进行安装。 wget http://cn.php.net/distributions/php-5.3.10.tar.gz tar -zxvf php-5.3.10.tar.gz cd php-5.3.10 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-PCntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrPC --enable-zip --enable-soap 上面的具体参数可以使用./configure --help查看 make ZEND_EXTRA_LIBS='-liconv' make test make && make install (此处最好分开做,因为make的时候会有报错出现。) 我在上面的make时就报了下面的错误 root/source/php-5.3.10/sapi/cli/php: error while loading shared librarIEs: libmysqlclIEnt.so.18: cannot open shared object file: No such file or directory make: *** [ext/phar/phar.php] Error 127 解决办法是(我的mysql安装目录是/usr/local/msyql,这个视自己的mysql安装路径而定。) ln -s /usr/local/mysql/lib/libmysqlclIEnt.so.18 /usr/lib/ 64位系统应使用下面的这行 ln -s /usr/local/mysql/lib/libmysqlclIEnt.so.18 /usr/lib64/ 若报下面的错,就是编绎mysql的时候没有加上mysqli这一项,把下面标红的那部分取消掉,重新编绎就行了。 make: *** [ext/mysqli/mysqli.lo] Error 1 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-PCntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrPC --enable-zip --enable-soap 另外,也有报下面错的可能。该问题有可能是没有安装iconv这个编码转换的包,也有可以装了,但是仍有这个错。 sapi/cli/php: error while loading shared librarIEs: libiconv.so.2: cannot open shared object file: No such file or directory make[1]: *** [install-pear-installer] Error 127 make: *** [install-pear] Error 2 find / -name libiconv.so.2在/usr/lib/libiconv.so.2位置发现libiconv已经安装。 于是运行/sbin/ldconfig,再重新编译,不再报上面的错。ldconfig用于加载最新编绎过的包。 注:上面很多需要的包我都是通过通过./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc参数编绎。这样其在默认的目录就能找到该包了。 cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf 修改php.ini文件和php-fpm文件中参数,可以手动更改也可以用下面的sed命令更改 sed -i 's#short_open_tag = Off#short_open_tag = On#g' /usr/local/php/etc/php.ini sed -i 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' /usr/local/php/etc/php-fpm.conf sed -i 's#pm.max_children = 5#pm.max_children = 32#g' /usr/local/php/etc/php-fpm.conf sed -i 's#pm.start_servers = 2#pm.start_servers = 16#g' /usr/local/php/etc/php-fpm.conf sed -i 's#pm.min_spare_servers = 1#pm.min_spare_servers = 8#g' /usr/local/php/etc/php-fpm.conf sed -i 's#pm.max_spare_servers = 3#pm.max_spare_servers = 32#g' /usr/local/php/etc/php-fpm.conf sed -i 's#;pm.max_requests = 500#pm.max_requests = 120#g' /usr/local/php/etc/php-fpm.conf php官方也给出了其中所有参数项的解释说明,具体见http://www.php.net/manual/en/install.fpm.configuration.php 设置开机启动 chmod 755 /etc/init.d/php-fpm chkconfig --add php-fpm /etc/init.d/php-fpm start 至此,php的安装完毕。 最后可以再安装一些php的扩展包和开户php加速(具体软件包可以视网上的最新版进行安装): tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5/ /usr/local/php/bin/phpize |