首先通过wget命令下载到指定文件 wget http://cn2.php.net/distributions/php-7.2.4.tar.gz 通过tar命令解压 tar -zxf php-7.2.4.tar.gz
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-pcre-regex --enable-dom --enable-filter --with-pcre-dir --with-gmp --with-onig --with-openssl-dir --with-readline --with-kerberos --with-libdir=lib --with-libmbfl --with-mcrypt --with-sqlite3 --with-libxml-dir --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv-dir --with-iconv --with-zlib-dir --with-bz2 --with-zlib --with-xmlrpc --with-xsl --with-pear --with-mhash --with-gettext --with-curl --with-openssl --with-png-dir --with-jpeg-dir --with-freetype-dir --with-fpm-user=nginx --with-fpm-group=nginx --with-xpm-dir --with-ldap=shared --enable-mysqlnd --enable-zip --enable-inline-optimization --enable-shared --enable-libxml --enable-xml --enable-simplexml --enable-bcmath --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-mbregex --enable-mbregex-backtrack --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --enable-session --enable-opcache --enable-fpm --enable-maintainer-zts --disable-fileinfo --enable-calendar --disable-rpath --disable-debug --enable-intl --enable-exif --enable-gd-native-ttf --enable-json --enable-pdo --enable-wddx
安装参考地址 https://www.jianshu.com/p/48d82e6f6834 遇到的问题 configure: error: Please reinstall readline - I cannot find readline.h 复制代码 代码如下: yum -y install readline-devel error: Please reinstall the BZip2 distribution yum install bzip2 bzip2-devel configure: error: Cannot find ldap.h yum install openldap openldap-devel -y configure: error: Cannot find ldap libraries in /usr/lib cp -frp /usr/lib64/libldap* /usr/lib/ PHP编译configure时常见错误 可以参考一下链接 几乎涵盖了经常遇到的错误(一般都是缺少依赖直接yum)
直接复制编译提示错误 然后在打开下边的链接 Ctrl+f 或者直接百度
https://blog.csdn.net/dodott/article/details/49664379
make && make install CentOS下将php命令加入到环境变量中 开发过程中、需要使用到php命令执行程序、但是php命令没有在全局命令中;每次执行都需要加上全路径特别麻烦,把php命令添加到全局变量中,以后每次只用输入php可以了 在centos7.2当中就可以使用下面的方式进行添加 vim /etc/profile文件 pathmunge /usr/local/php/bin 配置环境变量
然后执行source /etc/profile 让当前的配置生效
配置php-fpm 1.复制php-fpm.conf1
[root@6aaa15f97607 php-7.2.5]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
2.复制www.conf1
[root@6aaa15f97607 php-7.2.5]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
八、添加自启动
> chkconfig --add php-fpm
> chkconfig php-fpm on
> chkconfig --list php-fpm
九、启动服务
> chmod 755 /etc/init.d/php-fpm
> service php-fpm start
> ps -ef|grep php-fpm
或者 systemctl enable php-fpm.service
systemctl restart php-fpm.service
五、mysql 安装
下载源
wget -i http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
安装rpm源
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安装服务器
yum -y install mysql-community-server
启动数据库
systemctl start mysqld.service
获取随机密码
grep "password" /var/log/mysqld.log
登录mysql
修改密码
alter user 'root'@'localhost' identified by 'Root!!2018';
刷新权限
flush privileges
wget https://pecl.php.net/get/swoole-2.2.0.tgz
配置php.ini
extension=swoole
重新编译swoole,开启redis
进入到swoole目录重新编译:
cd /usr/src/swoole-2.1.1
./configure --enable-async-redis
make clean
make -j
make install
查看是否编译成功
php --ri swoole
出现此条表示编译正确async redis client => enabled
注意:
执行php-m发现swoole消失或者是通过php --ri swoole没有显示async redis client,或者报错,做一下操作
重新编译swoole,开启redis
进入到swoole目录重新编译:
cd /usr/src/swoole-2.1.1
./configure --enable-async-redis
make clean
make -j
make install
查看是否编译成功
php --ri swoole
出现此条表示编译正确async redis client => enabled
注意:
执行php-m发现swoole消失或者是通过php --ri swoole没有显示async redis client,或者报错,做一下操作
重新编译swoole,开启redis
进入到swoole目录重新编译:
cd /usr/src/swoole-2.1.1
./configure --enable-async-redis
make clean
make -j
make install
查看是否编译成功
php --ri swoole
出现此条表示编译正确async redis client => enabled
注意:
执行php-m发现swoole消失或者是通过php --ri swoole没有显示async redis client,或者报错,做一下操作
vi ~/.bash_profile
在最后一行添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bash_profile
基本参数解释
# 指定 php 安装目录
--prefix=/usr/local/php
# 指定php.ini位置
--with-config-file-path=/usr/local/php/etc
# mysql安装目录,对mysql的支持
--with-mysql=/usr/local/mysql
mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--with-mysqli=/usr/local/mysql/bin/mysql_config
整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-apxs2=/usr/local/apache/bin/apxs
# 选项指令 --with-iconv-dir 用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。
--with-iconv-dir=/usr/local
--with-freetype-dir 打开对freetype字体库的支持
--with-jpeg-dir 打开对jpeg图片的支持
--with-png-dir 打开对png图片的支持
--with-zlib-dir 打开zlib库的支持,用于http压缩传输
--with-libxml-dir 打开libxml2库的支持
--disable-rpath 关闭额外的运行库文件
--enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop --enable-sysvsem 这样就使得你的PHP系统可以处理相关的IPC函数了。
--enable-inline-optimization 优化线程
--with-curl 打开curl浏览工具的支持
--with-curlwrappers 运用curl工具打开url流
--enable-mbregex
--enable-fpm 打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-mbstring 多字节,字符串的支持
--with-mcrypt mcrypt算法扩展
--with-mhash mhash算法扩展
--with-gd 打开gd库的支持
--enable-gd-native-ttf 支持TrueType字符串函数库
--with-openssl openssl的支持,加密传输https时用到的
--enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
--enable-sockets 打开 sockets 支持
--with-xmlrpc 打开xml-rpc的c语言
--enable-zip 打开对zip的支持
--enable-ftp 打开ftp的支持
--with-bz2 打开对bz2文件的支持
--without-iconv 关闭iconv函数,字符集间的转换
--with-ttf 打开freetype1.*的支持,可以不加了
--with-xsl 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext 打开gnu 的gettext 支持,编码库用到
--with-pear 打开pear命令的支持,PHP扩展用的
--enable-calendar 打开日历扩展功能
--enable-exif 图片的元数据支持
--enable-magic-quotes 魔术引用的支持
--disable-debug 关闭调试模式
--with-mime-magic=/usr/share/file/magic.mime 魔术头文件位置
CGI方式安装才用的参数
--enable-fastCGI 支持fastcgi方式启动PHP
--enable-force-CGI-redirect 重定向方式启动PHP
--with-ncurses 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--with-gmp 应该是支持一种规范
--enable-dbase 建立DBA 作为共享模块
--with-pcre-dir=/usr/local/bin/pcre-config perl的正则库案安装位置
--disable-dmalloc
--with-gdbm dba的gdbm支持
--enable-sigchild
--enable-sysvshm
--enable-zend-multibyte 支持zend的多字节