猫铃儿 Mao02 Logo

高山仰止,景行行止



编译安装php7.2并安装swoole扩展,试运行easyswoole。

# 配置EPEL源 - EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux. 首先我们需要安装一个叫”epel-release”的软件包,这个软件包会自动配置yum的软件仓库。当然你也可以不安装这个包,自己配置软件仓库也是一样的。 ``` yum install epel-release -y yum update ``` # 安装一大堆依赖 其实可以安装php时缺啥报错后再安装依赖,然后再编译安装php,这里为了图省事先一股脑装一波。 ``` yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel ``` # 下载php源码 去 php.net 下载一个想要选择的版本,在选择一个靠谱的镜像来下在源码,网上好多教程是美国的下载镜像地址,建议选中国的应该快点。 ``` wget http://101.110.118.57/cn2.php.net/distributions/php-7.2.9.tar.gz tar xvf php-7.2.9.tar.gz cd php-7.2.9 ``` # 编译参数 ``` ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --enable-mysqlnd-compression-support \ --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 \ --enable-mbregex \ --enable-mbstring \ --enable-intl \ --with-libmbfl \ --enable-ftp \ --with-gd \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --with-gettext \ --disable-fileinfo \ --enable-opcache \ --with-pear \ --enable-maintainer-zts \ --with-ldap=shared \ --without-gdbm \ --with-sodium ``` 过程还是遇到几个问题,出现问题只要去百度下基本都有解决方案 1、configure: error: Cannot find ldap.h 解决办法: ``` yum install openldap yum install openldap-devel ``` 2、configure: error: Cannot find ldap libraries in /usr/lib 解决办法: ``` cp -frp /usr/lib64/libldap* /usr/lib/ ``` 3 另外php7.2增加了libsodium的支持,顺带着把[libsodium](https://download.libsodium.org/doc/installation/)也安装了,最后的参数--with-sodium就是安装sodium扩展。 # 编译安装 ``` make -j 4 && make install ``` # 创建配置文件 ``` cp php.ini-development /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf ``` # 配置环境变量,加入全局命令 ``` vim /etc/profile PATH=$PATH:/usr/local/php/bin export PATH source /etc/profile ``` # 查看安装的PHP 配置怎么改我就不演示了 运行 php -v 看看吧 # 安装swoole 去[github](https://github.com/swoole/swoole-src/releases)找个releases版 我选择了 https://codeload.github.com/swoole/swoole-src/tar.gz/v4.0.4 ``` wget https://codeload.github.com/swoole/swoole-src/tar.gz/v4.0.4 tar zxvf v4.0.4 mv swoole-src-4.0.4/ swoole-src/ cd swoole-src phpize ./configure make sudo make install ``` # 配置php.ini php.ini的位置可以通过 php -i 查看 编译安装成功后,修改php.ini加入 ``` extension=swoole.so ``` 运行 php -m 看看吧 # 全局安装composer ``` curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer ``` 指定中国镜像 ``` composer config -g repo.packagist composer https://packagist.phpcomposer.com ``` # 安装easyswoole并启动 ``` # 创建项目 composer create-project easyswoole/app easyswoole # 进入项目目录并启动 cd easyswoole php easyswoole start ```
 

作者  :  猫铃儿

PHP从业者,通晓linux服务器,python,nodejs等技术栈。



评论


博主:猫铃儿

性别:男

职业:php攻城狮

email:sinan00@qq.com

git:https://gitee.com/Mao02/

composer:https://packagist.org/packages/jayfun/

格言:如果你有梦想的话,就要去捍卫它

简介:野生程序员,php入行,吃力的走在全栈的路上

技能点: php javascript java python mysql