博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云 centos7.6 安装 php7.3
阅读量:6442 次
发布时间:2019-06-23

本文共 7246 字,大约阅读时间需要 24 分钟。

新增用户 用户组

groupadd wwwuseradd -g www www

下载 php

wget "https://downloads.php.net/~cmb/php-7.3.0.tar.gz"tar xzvf php-7.3.0.tar.gzcd  php-7.3.0

编译

--with-fpm-user=www --with-fpm-group=www

这里使用www www 用户、用户组
编译出来的程序启动,就是归属这个用户、用户组

./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.gztar -zxvf libzip-1.2.0.tar.gzcd libzip-1.2.0./configuremake && make install

off_t undefined 报错

checking libzip... yeschecking for the location of zlib... /usrchecking for pkg-config... (cached) /usr/bin/pkg-configchecking for libzip... in default path: found in /usr/localchecking for zip_open in -lzip... yeschecking for zip_file_set_encryption in -lzip... yeschecking for zip_libzip_version in -lzip... nochecking stdbool.h usability... yeschecking stdbool.h presence... yeschecking for stdbool.h... yeschecking fts.h usability... yeschecking fts.h presence... yeschecking for fts.h... yeschecking for int8_t... (cached) yeschecking for int16_t... (cached) yeschecking for int32_t... (cached) yeschecking for int64_t... (cached) yeschecking for uint8_t... (cached) yeschecking for uint16_t... (cached) yeschecking for uint32_t... (cached) yeschecking for uint64_t... (cached) yeschecking for ssize_t... yeschecking size of short... (cached) 2checking size of int... (cached) 4checking size of long... (cached) 8checking size of long long... (cached) 8checking size of off_t... 0configure: error: off_t undefined; check your library configuration

off_t 类型是在 头文件 unistd.h中定义的,

在32位系统 编程成 long int ,64位系统则编译成 long long int ,
在进行编译的时候 是默认查找64位的动态链接库,
但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径,
这个时候需要将 /usr/local/lib64 /usr/lib64 这些针对64位的库文件路径加进去。

#添加搜索路径到配置文件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

成功输出

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-configInstalling man pages:             /usr/local/php/php/man/man1/  page: phpize.1  page: php-config.1Installing 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.5Wrote PEAR system config file at: /usr/local/php/etc/pear.confYou 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/binln -s -f phar.phar /usr/local/php/bin/pharInstalling PDO headers:           /usr/local/php/include/php/ext/pdo/

配置,建立目录

cp php.ini-production /usr/local/php/lib/php.inicp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.confln -s /usr/local/php/sbin/php-fpm /usr/local/bin
cd /usr/local/php/etc/php-fpm.dvim www.conf

输入

[www]listen = 127.0.0.1:9080   listen.mode = 0666      user = www  #php代码目录权限 需要跟这个一致,group = www #php代码目录权限 需要跟这个一致pm = dynamicpm.max_children = 128pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 10000rlimit_files = 1024slowlog = log/$pool.log.slow

加入 systemtl 服务

cd /home/flame/software/php-7.3.0/sapi/fpmcp 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 wwwDec 27 16:13:16 iZj6cas4fyg41lxhngh1z0Z systemd[1]: Started The PHP FastCGI Process Manager.

测试

mkdir -p /home/www/webroot/phpcd /home/www/webroot/phpvim test.php

输入

访问

xxx.xxx.xxx.xxx:8080/test.php

php 命令环境

在$HOME/.profile里新增内容为

export PATH=$PATH:/usr/local/php/bin

转载地址:http://nbcwo.baihongyu.com/

你可能感兴趣的文章
web前端(2)—— 前端技术介绍
查看>>
ife2018 零基础学院 day 3
查看>>
__proto__和prototype
查看>>
Ibatis.Net 输出SQL语句学习(七)
查看>>
第一章-spring boot快速入门hello world
查看>>
《CLR Via C# 第3版》笔记之(十七) - 线程基础
查看>>
.NET MVC 找不到请求的 .Net Framework Data Provider。可能没有安装
查看>>
how to remove untagged / none images
查看>>
分析Redis架构设计
查看>>
linux scp远程拷贝文件及文件夹
查看>>
n个元素进栈,共有多少种出栈顺序?
查看>>
CodeForces 652C Foe Pairs
查看>>
HDU 1029 Ignatius and the Princess IV
查看>>
H5与Native交互之JSBridge技术
查看>>
干货!从Tomcat执行流程了解jsp是如何被解析的,错误提示是哪里生成的。
查看>>
MFC vs. SDK程序流程
查看>>
web notification api
查看>>
Ubuntu下的终端产生多标签和多标签切换快捷键
查看>>
简单的接口测试实例
查看>>
numpy lib1
查看>>