安装php
1.安装
环境:阿里云CentOS 7.3
编译前准备,并安装依赖:
# yum install -y gcc gcc-c++
# yum install -y openssl-devel libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel recode-devel libicu-devel libzip-devel libxml2-devel sqlite-devel bzip2-devel libcurl-devel libicu-devel oniguruma oniguruma-devel autoconf
# useradd -s /sbin/nologin php-fpm
下载并安装:
# wget https://www.php.net/distributions/php-7.4.0.tar.gz
# tar zxf php-7.4.0.tar.gz
# cd php-7.4.0
# ./configure --prefix=/usr/local/php --enable-mbstring --enable-zip --enable-bcmath --enable-pcntl --enable-ftp --enable-xml --enable-shmop --enable-soap --enable-intl --with-openssl --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-opcache --enable-fpm --enable-session --enable-sockets --enable-mbregex --enable-wddx --with-curl --with-iconv --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-openssl --with-pdo-mysql=mysqlnd --with-gettext=/usr --with-zlib=/usr --with-bz2=/usr --with-recode=/usr --with-xmlrpc --with-mysqli=mysqlnd --with-pear --with-fpm-user=php-fpm --with-fpm-group=php-fpm
# make && make install
复制配置文件:
# 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
修改配置: vim /usr/local/php/etc/php-fpm.d/www.conf
[www]
;监听的地址,可以监听socket ,也可以监听端口
;listen = /tmp/php-fcgi.sock
;或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用本机ip
listen = 127.0.0.1:9000
;sock 文件的权限
listen.mode = 666
listen.owner = nobody
listen.group = nobody
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
加入 systemtl 服务:
# cp 源代码目录/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
修改error_log
文件位置: vim /usr/local/php/etc/php-fpm.conf
把(第24行附近)
;error_log = log/php-fpm.log
改为
error_log = /var/log/php-fpm.log
启动:
# systemctl start php-fpm
查看状态:
# systemctl status php-fpm -l
显示如下:
# systemctl status php-fpm -l
● 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 Fri 2019-12-06 05:21:57 CST; 2s ago
Main PID: 28900 (php-fpm)
CGroup: /system.slice/php-fpm.service
├─28900 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
├─28901 php-fpm: pool www
├─28902 php-fpm: pool www
├─28903 php-fpm: pool www
├─28904 php-fpm: pool www
├─28905 php-fpm: pool www
├─28906 php-fpm: pool www
├─28907 php-fpm: pool www
├─28908 php-fpm: pool www
├─28909 php-fpm: pool www
├─28910 php-fpm: pool www
├─28911 php-fpm: pool www
├─28912 php-fpm: pool www
├─28913 php-fpm: pool www
├─28914 php-fpm: pool www
├─28915 php-fpm: pool www
├─28916 php-fpm: pool www
├─28917 php-fpm: pool www
├─28918 php-fpm: pool www
├─28919 php-fpm: pool www
└─28920 php-fpm: pool www
Dec 06 05:21:57 edwin systemd[1]: Started The PHP FastCGI Process Manager.
Dec 06 05:21:57 edwin systemd[1]: Starting The PHP FastCGI Process Manager...
创建开机自启:
# systemctl enable php-fpm
2.PHP7.4安装扩展模块方法
方法一:
PHP 自身提供了很多扩展,比如 curl、mbstring 等等。我们在编译安装 PHP 时候不可能将所有的扩展全部安装。那么在安装 PHP 后,如果想单独安装某个 PHP 扩展模块应该如何安装?
在编译安装 PHP 完成后,在 PHP 安装目录下有个 ext 目录就是我们已经安装的一些 PHP 扩展模块。
PECL 是通过 PEAR 打包系统来的 PHP 扩展库仓库,我们可以在 PECL 网站上获取 PHP 支持的扩展模块。
本次以php源码目录下的 ext/gd
扩展模块的安装为例说明如何单独添加扩展。
cd php源码目录/ext/gd
/usr/local/php/bin/phpize
注意:如果你的机器上有多个 PHP 版本,一定要执行你准备安装扩展的 PHP 版本对应的 phpize 命令。
此时显示:
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902
编译安装
在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config
选项来指定使用哪一个版本编译,该选项指定了相对应的 php-config
脚本的路径。
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
方法二:
/usr/local/php/bin/pecl install gd
参考: https://www.xbzdr.com/601.html
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本网站不拥有所有权,也不承担相关法律责任。如果您发现本网站中有涉嫌抄袭的内容,欢迎发送邮件至: 1559179387@qq.com 进行举报,并提供相关证据,一经查实,本网站将立刻删除涉嫌侵权内容。
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
个人技术心得!
喜欢就支持一下吧