准备安装包(PHP: Hypertext Preprocessor)下载安装包以及组件wget https://www.php.net/distributions/php-8.0.0.tar.bz2wget https://github.com/phpredis/phpredis/archive/5.3.2.tar.gz -O phpredis-5.3.2.tar.gzwget https://github.com/swoole/swoole-src/archive/v4.5.9.tar.gz -O swoole-src-4.5.9.tar.gzwget http://pecl.php.net/get/mcrypt-1.0.3.tgzwget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gzwget https://github.com/Kitware/CMake/releases/download/v3.16.0/cmake-3.17.2.tar.gzwget https://libzip.org/download/libzip-1.5.2.tar.xzwget https://github.com/Kitware/CMake/releases/download/v3.19.4/cmake-3.19.4.tar.gz
分别解压安装【CentOS7下安装PHP8.0】------- 安装cmake -------tar -zxvf cmake-3.17.2.tar.gz && cd cmake-3.17.2./bootstrap && gmake && gmake installcmake -version------- 安装libiconv -----tar zxvf libiconv-1.16.tar.gz && cd libiconv-1.16 && ./configure --prefix=/usr/local/libiconv && make && make installln -s /usr/local/libiconv/lib/libiconv.so.2 /usr/lib64/libiconv.so.2------ 安装libzip ------tar xvJf libzip-1.5.2.tar.xz && cd libzip-1.5.2mkdir build && cd build/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libzip ..make && make install------ 安装PHP8.0 ------./configure --prefix=/usr/local/php8 --exec-prefix=/usr/local/php8 --bindir=/usr/local/php8/bin --sbindir=/usr/local/php8/sbin --includedir=/usr/local/php8/include --libdir=/usr/local/php8/lib/php --mandir=/usr/local/php8/php/man --with-config-file-path=/usr/local/php8/etc --with-MySQL-sock=/dev/shm/mysql.sock --with-mysqli=shared,mysqlnd --with-mhash --with-openssl --with-curl --with-pdo-mysql=shared,mysqlnd --with-iconv --with-zlib --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --enable-opcache --enable-fpm --without-gdbm --disable-fileinfo --with-fpm-user=www --with-fpm-group=wwwmake && make install
复制配置文件cp php.ini-production /usr/local/php8/etc/php.inicp sapi/fpm/php-fpm.service /lib/systemd/system/php-fpm.servicecp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.confcp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
配置php-fpm.conf文件pid = /run/php-fpm.piderror_log = /var/log/php/fpm-error.loginclude=/usr/local/php8/etc/php-fpm.d/*.conf
配置php-fpm.d/www.conf文件######设置用户和用户组user = wwwgroup = www######根据Nginx.conf中的配置fastcgi_pass unix:/dev/shm/php-fpm.sock;设置PHP监听;listen = 127.0.0.1:9000#####不建议使用listen = /dev/shm/php-fpm.socklisten.owner = wwwlisten.group = wwwlisten.mode = 0777listen.allowed_clients = /dev/shm/php-fpm.sock######使用静态进程数max_children=内存/512pm = staticpm.max_children = 200pm.max_requests = 0pm.status_path = /FpmStatus######开启慢日志slowlog = /var/log/php/fpm-$pool-slow.logrequest_slowlog_timeout = 30srequest_slowlog_trace_depth = 20request_terminate_timeout = 0
配置php.ini文件######避免PHP信息暴露在http头中expose_php = Off######常用配置error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATEDdisplay_errors = Offlog_errors = Onhtml_errors = Offerror_log = /var/log/php/cli-error.logignore_repeated_errors = Onignore_repeated_source = Onmemory_limit = 512Mmax_execution_time = 600(0为不限制)max_input_time = -1post_max_size = 128Mmax_input_vars = 1000000file_uploads = Onupload_tmp_dir = /tmp/wwwupload_max_filesize = 100Msession.gc_maxlifetime = 14400default_socket_timeout = 600(-1为不限制)######设置PHP的扩展extension_dir = "/usr/local/php8/lib/php/extensions/以安装目录为准"zend_extension=opcache.soextension=mcrypt.soextension=mysqli.soextension=pdo_mysql.soextension=redis.soextension=swoole.so######设置PHP的时区date.timezone = "Asia/Shanghai"######开启opcache[opcache]opcache.enable=1opcache.enable_cli=1#####开启JITopcache.jit_buffer_size=128Mopcache.jit=1205opcache.huge_code_pages=1opcache.file_cache=/tmp######设置PHP脚本允许访问的目录(需要根据实际情况配置);open_basedir = /usr/share/nginx/html;----- 使用redis的session才需要配置 ----session.save_handler = redissession.save_path = "tcp://*****.aliyuncs.com:6379? auth=******"[MySQLi]mysqli.reconnect = On
最后配置文件权限mkdir -p /var/log/php/mkdir -p /var/log/php-fpm/mkdir -p /run/php-fpm/mkdir -p /var/lib/php/sessiontouch /dev/shm/php-fpm.socktouch /run/php-fpm.pidchown www:www /dev/shm/php-fpm.sockchmod 777 /dev/shm/php-fpm.sockchown -R www:www /var/lib/php######配置PHP连接MySQL的端口监听文件(没有安装MySQL的可以先不监听)touch /dev/shm/mysql.sockchmod 777 /dev/shm/mysql.sock
测试php-fpm配置,设置开机自启动
推荐阅读
- Windows下如何彻底关闭windows defender防病毒
- 下一代的WiFi技术将至,但我们却感到忧心
- 根号下可以为0吗?
- 比亚迪汉|中国高端车里程碑 比亚迪汉第20万台下线:20万级无敌!
- 屏下摄像头|最完美全面屏!中兴Axon 40 Ultra官方渲染图公布:屏幕开孔全部“消失”
- 屏下摄像头|吴京代言!中兴Axon 40 Ultra海报出炉:最强屏下前摄、超窄下巴
- 学霸|谷爱凌登高中试卷:北京冬奥拿下3枚奖牌、即将入学斯坦福
- 电影|8部新片撤出 五一档一片冷清!电影院自救:要活下去
- 地下水污染的途径和控制措施
- 工商管理类包括哪些专业?