This article brings you a detailed tutorial on installing php7.3 on Alibaba Cloud centos7.6. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
groupadd www useradd -g www www
wget "https://downloads.php.net/~cmb/php-7.3.0.tar.gz" tar xzvf php-7.3.0.tar.gz cd php-7.3.0
--with-fpm-user=www --with-fpm-group =www
Here, the program compiled using www www user and user group
is started, which belongs to this user and user group
./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm
configure: error : libxml2 not found. Please check your libxml2 installation.
yum install -y libxml2-devel
configure: error: Please reinstall the BZip2 distribution
yum install -y bzip2-devel
configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
yum install -y curl-devel
configure: error: jpeglib.h not found.
yum install -y libjpeg-devel
configure: error: png.h not found.
yum install -y libpng-devel
configure: error: freetype- config not found.
yum install -y freetype-devel
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum install -y libxslt-devel
configure: error: Please reinstall the libzip distribution
yum install -y libzip-devel
checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
#先删除旧版本 yum remove -y libzip #下载编译安装 wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
off_t undefined error
checking libzip... yes checking for the location of zlib... /usr checking for pkg-config... (cached) /usr/bin/pkg-config checking for libzip... in default path: found in /usr/local checking for zip_open in -lzip... yes checking for zip_file_set_encryption in -lzip... yes checking for zip_libzip_version in -lzip... no checking stdbool.h usability... yes checking stdbool.h presence... yes checking for stdbool.h... yes checking fts.h usability... yes checking fts.h presence... yes checking for fts.h... yes checking for int8_t... (cached) yes checking for int16_t... (cached) yes checking for int32_t... (cached) yes checking for int64_t... (cached) yes checking for uint8_t... (cached) yes checking for uint16_t... (cached) yes checking for uint32_t... (cached) yes checking for uint64_t... (cached) yes checking for ssize_t... yes checking size of short... (cached) 2 checking size of int... (cached) 4 checking size of long... (cached) 8 checking size of long long... (cached) 8 checking size of off_t... 0 configure: error: off_t undefined; check your library configuration
off_t type is in the header file unistd Defined in .h,
is programmed into long int in 32-bit systems, and compiled into long long int in 64-bit systems.
When compiling, the 64-bit dynamic link library is searched by default,
but By default, the search path is not added to the centos dynamic link library configuration file /etc/ld.so.conf.
At this time, you need to add /usr/local/lib64 /usr/lib64 to these 64-bit library file paths. Add it in.
#添加搜索路径到配置文件 echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf #然后 更新配置 ldconfig -v
make && make install
Error reporting
usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
Successful output
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/ Installing PHP CLI binary: /usr/local/php/bin/ Installing PHP CLI man page: /usr/local/php/php/man/man1/ Installing PHP FPM binary: /usr/local/php/sbin/ Installing PHP FPM defconfig: /usr/local/php/etc/ Installing PHP FPM man page: /usr/local/php/php/man/man8/ Installing PHP FPM status page: /usr/local/php/php/php/fpm/ Installing phpdbg binary: /usr/local/php/bin/ Installing phpdbg man page: /usr/local/php/php/man/man1/ Installing PHP CGI binary: /usr/local/php/bin/ Installing PHP CGI man page: /usr/local/php/php/man/man1/ Installing build environment: /usr/local/php/lib/php/build/ Installing header files: /usr/local/php/include/php/ Installing helper programs: /usr/local/php/bin/ program: phpize program: php-config Installing man pages: /usr/local/php/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php/lib/php/ Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in phar:///home/flame/software/php-7.3.0/pear/install-pear-nozlib.phar/PEAR/PackageFile/v2/Validator.php on line 1933 [PEAR] Archive_Tar - installed: 1.4.3 [PEAR] Console_Getopt - installed: 1.4.1 [PEAR] Structures_Graph- installed: 1.1.1 [PEAR] XML_Util - installed: 1.4.2 [PEAR] PEAR - installed: 1.10.5 Wrote PEAR system config file at: /usr/local/php/etc/pear.conf You may want to add: /usr/local/php/lib/php to your php.ini include_path /home/flame/software/php-7.3.0/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin ln -s -f phar.phar /usr/local/php/bin/phar Installing PDO headers: /usr/local/php/include/php/ext/pdo/
cp php.ini-production /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
cd /usr/local/php/etc/php-fpm.d vim www.conf
Input
[www] listen = 127.0.0.1:9080 listen.mode = 0666 user = www #php代码目录权限 需要跟这个一致, group = www #php代码目录权限 需要跟这个一致 pm = dynamic pm.max_children = 128 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 10000 rlimit_files = 1024 slowlog = log/$pool.log.slow
cd /home/flame/software/php-7.3.0/sapi/fpm cp php-fpm.service /usr/lib/systemd/system/
systemctl start php-fpm
#查看状态 systemctl status php-fpm #得到输出 ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-12-27 16:13:16 CST; 2s ago Main PID: 16835 (php-fpm) CGroup: /system.slice/php-fpm.service ├─16835 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) ├─16836 php-fpm: pool www ├─16837 php-fpm: pool www ├─16838 php-fpm: pool www ├─16839 php-fpm: pool www ├─16840 php-fpm: pool www ├─16841 php-fpm: pool www ├─16842 php-fpm: pool www ├─16843 php-fpm: pool www ├─16844 php-fpm: pool www ├─16845 php-fpm: pool www ├─16846 php-fpm: pool www ├─16847 php-fpm: pool www ├─16848 php-fpm: pool www ├─16849 php-fpm: pool www ├─16850 php-fpm: pool www ├─16851 php-fpm: pool www ├─16852 php-fpm: pool www ├─16853 php-fpm: pool www ├─16854 php-fpm: pool www └─16855 php-fpm: pool www Dec 27 16:13:16 iZj6cas4fyg41lxhngh1z0Z systemd[1]: Started The PHP FastCGI Process Manager.
mkdir -p /home/www/webroot/php cd /home/www/webroot/php vim test.php
Enter
<?php phpinfo(); ?>
Access
xxx.xxx.xxx.xxx:8080/test.php
In $HOME/ The new content in .profile is
export PATH=$PATH:/usr/local/php/bin
Posted 1 day ago
Alibaba Cloud centos7.6 install php7.3## 43 Reading It takes 26 minutes to read
New user user groupgroupadd www
useradd -g www www
wget "https://downloads.php.net/~cmb/php-7.3.0.tar.gz"
tar xzvf php-7.3.0.tar.gz
cd php-7.3.0
./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm
yum install -y libxml2-devel
yum install -y bzip2-devel
yum install -y curl-devel
configure: error: jpeglib.h not found.
yum install -y libjpeg-devel
yum install -y libpng-devel
yum install -y freetype-devel
yum install -y libxslt-devel
yum install -y libzip-devel
#先删除旧版本 yum remove -y libzip #下载编译安装 wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
checking libzip... yes checking for the location of zlib... /usr checking for pkg-config... (cached) /usr/bin/pkg-config checking for libzip... in default path: found in /usr/local checking for zip_open in -lzip... yes checking for zip_file_set_encryption in -lzip... yes checking for zip_libzip_version in -lzip... no checking stdbool.h usability... yes checking stdbool.h presence... yes checking for stdbool.h... yes checking fts.h usability... yes checking fts.h presence... yes checking for fts.h... yes checking for int8_t... (cached) yes checking for int16_t... (cached) yes checking for int32_t... (cached) yes checking for int64_t... (cached) yes checking for uint8_t... (cached) yes checking for uint16_t... (cached) yes checking for uint32_t... (cached) yes checking for uint64_t... (cached) yes checking for ssize_t... yes checking size of short... (cached) 2 checking size of int... (cached) 4 checking size of long... (cached) 8 checking size of long long... (cached) 8 checking size of off_t... 0 configure: error: off_t undefined; check your library configuration
is programmed into long int in 32-bit systems, and compiled into long long int in 64-bit systems,
in When compiling, the 64-bit dynamic link library is searched by default.However, by default, the search path is not added to the centos dynamic link library configuration file /etc/ld.so.conf.
At this time, you need to add /usr/local/lib64 /usr/lib64 Add these 64-bit library file paths.#添加搜索路径到配置文件 echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf #然后 更新配置 ldconfig -v
make && make install
usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
Successful output
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/ Installing PHP CLI binary: /usr/local/php/bin/ Installing PHP CLI man page: /usr/local/php/php/man/man1/ Installing PHP FPM binary: /usr/local/php/sbin/ Installing PHP FPM defconfig: /usr/local/php/etc/ Installing PHP FPM man page: /usr/local/php/php/man/man8/ Installing PHP FPM status page: /usr/local/php/php/php/fpm/ Installing phpdbg binary: /usr/local/php/bin/ Installing phpdbg man page: /usr/local/php/php/man/man1/ Installing PHP CGI binary: /usr/local/php/bin/ Installing PHP CGI man page: /usr/local/php/php/man/man1/ Installing build environment: /usr/local/php/lib/php/build/ Installing header files: /usr/local/php/include/php/ Installing helper programs: /usr/local/php/bin/ program: phpize program: php-config Installing man pages: /usr/local/php/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php/lib/php/ Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in phar:///home/flame/software/php-7.3.0/pear/install-pear-nozlib.phar/PEAR/PackageFile/v2/Validator.php on line 1933 [PEAR] Archive_Tar - installed: 1.4.3 [PEAR] Console_Getopt - installed: 1.4.1 [PEAR] Structures_Graph- installed: 1.1.1 [PEAR] XML_Util - installed: 1.4.2 [PEAR] PEAR - installed: 1.10.5 Wrote PEAR system config file at: /usr/local/php/etc/pear.conf You may want to add: /usr/local/php/lib/php to your php.ini include_path /home/flame/software/php-7.3.0/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin ln -s -f phar.phar /usr/local/php/bin/phar Installing PDO headers: /usr/local/php/include/php/ext/pdo/
Configure, create directory
cp php.ini-production /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
cd /usr/local/php/etc/php-fpm.d vim www.conf
Input
[www] listen = 127.0.0.1:9080 listen.mode = 0666 user = www #php代码目录权限 需要跟这个一致, group = www #php代码目录权限 需要跟这个一致 pm = dynamic pm.max_children = 128 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 10000 rlimit_files = 1024 slowlog = log/$pool.log.slow
cd /home/flame/software/php-7.3.0/sapi/fpm cp php-fpm.service /usr/lib/systemd/system/
systemctl start php-fpm
#查看状态 systemctl status php-fpm #得到输出 ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-12-27 16:13:16 CST; 2s ago Main PID: 16835 (php-fpm) CGroup: /system.slice/php-fpm.service ├─16835 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) ├─16836 php-fpm: pool www ├─16837 php-fpm: pool www ├─16838 php-fpm: pool www ├─16839 php-fpm: pool www ├─16840 php-fpm: pool www ├─16841 php-fpm: pool www ├─16842 php-fpm: pool www ├─16843 php-fpm: pool www ├─16844 php-fpm: pool www ├─16845 php-fpm: pool www ├─16846 php-fpm: pool www ├─16847 php-fpm: pool www ├─16848 php-fpm: pool www ├─16849 php-fpm: pool www ├─16850 php-fpm: pool www ├─16851 php-fpm: pool www ├─16852 php-fpm: pool www ├─16853 php-fpm: pool www ├─16854 php-fpm: pool www └─16855 php-fpm: pool www Dec 27 16:13:16 iZj6cas4fyg41lxhngh1z0Z systemd[1]: Started The PHP FastCGI Process Manager.
mkdir -p /home/www/webroot/php cd /home/www/webroot/php vim test.php
Enter
<?php phpinfo(); ?>
xxx.xxx.xxx.xxx:8080/test.php
In $HOME/ The new content in .profile is
export PATH=$PATH:/usr/local/php/bin
评论
The above is the detailed content of Detailed tutorial for installing php7.3 on Alibaba Cloud centos7.6. For more information, please follow other related articles on the PHP Chinese website!