centos7下编译安装php7.3
一、下载php7.3的源码
- https://www.php.net/downloads.php
下载php-7.3.4.tar.gz
二、安装gcc,gcc-c++,kernel-devel
- yum -y install gcc gcc-c++ kernel-devel
三、安装php需要的依赖库
- yum -y install wget pcre pcre-devel openssl openssl-devel libicu-devel 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
四、创建用户和组,并解压
- groupadd www
- useradd -g www www
- tar xf php-7.3.4.tar.gz
- cd php-7.3.4
五、进行编译安装
php的路径 --prefix 和配置文件 --with-config-file-path 路径大家可以自行设置
- ./configure --prefix=/data/nmp/php \
- --with-config-file-path=/data/nmp/php/etc \
- --with-fpm-user=www \
- --with-fpm-group=www \
- --with-mysqli=mysqlnd \
- --with-pdo-mysql=mysqlnd \
- --with-iconv-dir \
- --with-freetype-dir \
- --with-jpeg-dir \
- --with-png-dir \
- --with-zlib \
- --with-libxml-dir \
- --with-ldap=shared \
- --with-gdbm \
- --with-pear \
- --with-gettext \
- --with-curl \
- --with-xmlrpc \
- --with-openssl \
- --with-mhash \
- --with-gd \
- --enable-fpm \
- --enable-mysqlnd \
- --enable-mysqlnd-compression-support \
- --enable-xml \
- --enable-rpath \
- --enable-bcmath \
- --enable-shmop \
- --enable-sysvsem \
- --enable-inline-optimization \
- --enable-mbregex \
- --enable-mbstring \
- --enable-intl \
- --enable-ftp \
- --enable-gd-jis-conv \
- --enable-pcntl \
- --enable-sockets \
- --enable-zip \
- --enable-soap \
- --enable-fileinfo \
- --enable-opcache \
- --enable-maintainer-zts \
编译安装
- make -j 4 && make install
上面的步骤有可能出现的问题:
1、configure: WARNING: unrecognized options: --with-mcrypt, --with-libmbfl, --enable-gd-native-ttf
说明上面的配置参数已经弃用了,删除即可。
2、configure: error: DBA: Could not find necessary header file(s).
安装下 yum install gdbm-devel
3、configure: error: Cannot find ldap libraries in /usr/lib
拷贝下文件 cp -frp /usr/lib64/libldap* /usr/lib/
4、configure: error: off_t undefined; check your library configuration
进行如下操作:
- vi /etc/ld.so.conf
- # 添加如下几行
- /usr/local/lib64
- /usr/local/lib
- /usr/lib
- /usr/lib64
- # 保存退出
- :wq
- # 使之生效
- ldconfig -v
5、configure: error: Please reinstall the libzip distribution
在 https://libzip.org/download/ 下载源码,进行安装
- tar xf libzip-1.5.2.tar.gz
- cd libzip-1.5.2
- mkdir build && cd build && cmake .. && make && make install
6、CMake 3.0.2 or higher is required. You are running version 2.8.12.2
说明你的cmake版本过低,需要重新安装
先删除原有cmake
- yum remove cmake
在 https://cmake.org/download/ 下载源码
- tar xf cmake-3.14.3.tar.gz
- cd cmake-3.14.3
- ./bootstrap && make && make install
然后修改 vi /etc/profile,并加入如下内容
- PATH=/usr/local/bin:$PATH
- export PATH
- source /etc/profile
六、配置php.ini文件
具体的路径,大家可自行修改。
- cp php.ini-development /data/nmp/php/etc/php.ini
- cp /data/nmp/php/etc/php-fpm.conf.default /data/nmp/php/etc/php-fpm.conf
- cp /data/nmp/php/etc/php-fpm.d/www.conf.default /data/nmp/php/etc/php-fpm.d/www.conf
配置php.ini文件
- max_execution_time = 120
- max_input_time = 120
- memory_limit = 1024M
- post_max_size = 128M
- date.timezone = PRC
- extension_dir = "/data/nmp/php/lib/php/extensions/no-debug-zts-20180731"
七、配置Systemd服务
其实php-fpm.service文件php已经帮我们配置好了,只需要我们复制到指定位置,并启用就行了。
- cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
php-fpm.service文件内容如下:
- [Unit]
- Description=The PHP FastCGI Process Manager
- After=network.target
- [Service]
- Type=simple
- PIDFile=/data/nmp/php/var/run/php-fpm.pid
- ExecStart=/data/nmp/php/sbin/php-fpm --nodaemonize --fpm-config /data/nmp/php/etc/php-fpm.conf
- ExecReload=/bin/kill -USR2 $MAINPID
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
启用php-fpm.service
- systemctl enable php-fpm.service
启动php-fpm
- systemctl start php-fpm.service
centos7下编译安装php7.3的更多相关文章
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展
centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...
- Linux Centos7.2 编译安装PHP7.0.2
操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...
- CentOS7下编译安装redis-5.0.9
CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...
- 【安装PHP】如何在openSUSE42.1下编译安装PHP7
首先推荐一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog. 里面说到是否会去使用PHP7, ...
- centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展
.安装php7..30的脚本 # vim install_php.sh #!/bin/bash # 安装基本依赖 yum install -y gcc gcc-c++ htop telnet ioto ...
- Centos7.2 编译安装PHP7
PHP7,编译安装: 环境:centos7.2 (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.) 直接下载P ...
- CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10
一.安装前的准备工作 1.yum update #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2 ...
- CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1
一.安装前的准备工作 1.yum update #更新系统 1.1)vi /etc/selinux/config # 禁止SELINUX,设置SELINUX=disabled 2.yum in ...
随机推荐
- my first note
please do not laugh It is very glad to be here, I will study hard.
- vs2015中SQLSERVER数据库项目引用系统视图
近期使用VS中的SQLSERVER数据库项目进行项目开发,由于有很多自动化脚本会访问系统视图,例如sysobjects之类的,在项目中的脚本总是提示无法解析的引用,解决办法如下: 添加数据库引用 添加 ...
- Android Studio 将文件打包成APK
1.在Build中找到Generate Signed APK选项,进入如下界面 这是我上面已经有了jsk的.创建jks点Create new... 2.没有jks时创建一个 三.然后会返回到上一个界面 ...
- LayaAir疑难杂症之二:字符输入限制不生效(多个限制条件该如何赋值给restrict)
问题描述 采用LayaAir进行开发,在使用TextInput时,对restrict属性进行赋值,使该输入框只允许输入中英文.数字,restrict = “[\u4E00-\u9FA5A-Za-z ...
- [java,2018-06-26] 扑克牌抽牌求和问题
问题: 一副扑克牌,除去大小王后共52张牌,随机从中抽八张牌,问八张牌的和最有可能是多少? 分析: 这52张牌,其实就是数字 1 2 3 ...13, 每个数字出现4次.随机抽出8个数,问组成的和最有 ...
- openssl error while loading serial number
unable to load number from D:/Program Files/OpenSSL-Win64/bin/demoCA/serialerror while loading seria ...
- css实现布局
1.两栏布局 两栏布局一般就是一栏定宽一栏自适应(也就是流动).分的细的话还有左栏定宽右栏自适应.右栏定宽左栏自适应. 举个栗子:一栏定宽200px,一栏自适应. <head> <m ...
- djiango 虚拟环境与项目创建
建立虚拟环境 一,查看有那些虚拟环境 :workon 二,创建虚拟环境:mkvirtualenv -p/usr/bin/python3 django(p后面是路径) 三,进入虚拟环境:workon d ...
- FPGA——按键(二)
直接上源码: module key_led( input sys_clk , //50Mhz系统时钟 input sys_rst_n, //系统复位,低有效 :] key, //按键输入信号 :] l ...
- 教你快速录制gif动图
我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事 ...