安装依赖包
yum install -y epel-release
yum install -y oniguruma oniguruma-devel
yum -y install sqlite-devel
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp gmp-devel expat-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libcurl libcurl-devel curl curl-devel libmcrypt libmcrypt-devel libxslt libxslt-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmemcached-devel libzip readline readline-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
多版本冲突错误
Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for zlib which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of zlib of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude zlib.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of zlib installed, but
yum can only see an upgrade for one of those architectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of zlib installed already.
You can use "yum check" to get yum show these errors.
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
保护多库版本:zlib-1.2.7-15.el7.x86_64 != zlib-1.2.7-13.el7.i686
解决:
yum install --setopt=protected_multilib=false zlib
下载
wget https://www.php.net/distributions/php-7.3.1.tar.gz
解压
tar -xzvf php-7.3.1.tar.gz
cd php-7.3.1
配置
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-inline-optimization --disable-debug --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-rpath --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mhash --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-mbstring --with-onig --enable-shared --enable-opcache --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --with-iconv --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-zip --enable-wddx --with-pear
make && make install
WARNING: unrecognized options: --with-mysql, --with-mcrypt
表示不支持模块:–with-mysql, --with-mcrypt,可以删除选项
configure: error: Please reinstall readline - I cannot find readline.h
解决:
yum -y install readline-devel
configure: error: Please reinstall the libzip distribution
安装libzip-1.5.2
wget https://libzip.org/download/libzip-1.5.2.tar.gz -O libzip.tar.gz
tar xvf libzip.tar.gz
cd libzip*
mkdir build && cd build
cmake ..
make && make install
提示cmake版本问题需升级cmake
升级cmake
yum remove cmake -y
wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz
tar zxvf cmake-3.14.5.tar.gz
./configure --prefix=/usr/local/cmake
make && make install
创建链接或配置环境变量
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
或
vim /etc/profile
export CMAKE_HOME=/usr/local/cmake
export PATH=$PATH:$CMAKE_HOME/bin
configure: error: off_t undefined; check your library configuration
解决:
vim /etc/ld.so.conf.d/local.conf
把这面内容输入到local.conf 文件
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
更新
ldconfig -v
PHP配置
php.ini是php运行核心配置文件
php-fpm.conf是php-fpm进程服务的配置文件
# cp php.ini-production /usr/local/php7/etc/php.ini
# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
设置开机启动
# chkconfig --add php-fpm
# chkconfig php-fpm on
# service php-fpm start
Starting php-fpm done
# ps -ef|grep php