编译安装php-5.4.44
编译安装php-5.4.44
1. 首先,安装必要的库文件,一面编译被打断:
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers libmcrypt libmcrypt-devel libaio libaio-devel
本来不需要这么多的,为了避免以后出现其他错误,建议全部扩展。需要epel源,具体方法参考:http://www.cnblogs.com/llius/p/5105051.html
2. 下载php:
1 2 3 | # cd /usr/local/src # wget http://au1.php.net/distributions/php-5.4.44.tar.bz2 # tar jxf php-5.4.44.tar.bz2 |
3. 新建php-fpm普通用户:
1 | # useradd -s /sbin/nologin -M php-fpm //-s /sbin/nologin:禁止php-fpm用户登录,-M:不在/home下生成php-fpm的家目录 |
4. 参数初始化:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # cd php-5.4.44 . /configure \ --prefix= /usr/local/php \ --with-apxs2= /usr/local/apache2/bin/apxs \ // 该选项对php解析非常重要,正确的 make && make install 后会在 /usr/local/apache2/modules 目录生成libphp5.so --with-config- file -path= /usr/local/php/etc \ --with-mysql= /usr/local/mysql \ --with-libxml- dir \ --with-gd \ --with-jpeg- dir \ --with-png- dir \ --with-freetype- dir \ --with-iconv- dir \ --with-zlib- dir \ --with-bz2 \ --with-openssl \ --with-mcrypt \ -- enable -soap \ -- enable -gd-native-ttf \ -- enable -mbstring \ -- enable -sockets \ -- enable -exif \ --disable-ipv6 |
保存配置文件后,检验配置是否正确的方法为:
1 | # /usr/local/php/sbin/php-fpm -t //返回如下结果,说明没有错误<br>NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful |
因为路径长,可以设立一个别名:
1 2 3 | # vim ~/.bashrc //在alias队列后面添加如下内容: alias php-fpm= '//usr/local/php/sbin/php-fpm' # source !$ //即: source ~/.bashrc |
7. php的启动(需要拷贝启动脚本):
1 2 3 | # cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //拷贝启动脚本 # chmod 755 /etc/init.d/php-fpm //需有x权限 # service php-fpm start //启动<br>Starting php-fpm done //返回如下结果,说明开启成功<br># chkconfig add php-fpm //这两步是添加开机启动<br># chkconfig php-fpm on<br># ps aux |grep php-fpm //应该有20余个php-fpm进程,因为在上面的配置文件里面定义了: pm.start_servers = 20 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步