前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >麒麟系统V10 SP2 编译安装PHP 7.4.30

麒麟系统V10 SP2 编译安装PHP 7.4.30

作者头像
Kevin song
发布2022-11-19 09:39:21
2.7K0
发布2022-11-19 09:39:21
举报
文章被收录于专栏:运维监控日志分析

系统版本信息

代码语言:javascript
复制
cat /etc/kylin-release
nkvers
cat /proc/version

安装PHP

安装PHP依赖环境

yum -y install libtool sqlite-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel

yum install openldap openldap-devel -y

拷贝和链接所需必要文件

代码语言:javascript
复制
cp -frp /usr/lib64/libldap* /usr/lib/
ln -s /usr/lib64/liblber.so /usr/lib/liblber.so

安装 oniguruma-6.9.4

代码语言:javascript
复制
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -xvf  oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4/
./autogen.sh && ./configure --prefix=/usr --libdir=/lib64
 make && make install

安装 libmcrypt

代码语言:javascript
复制
wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install

编译安装PHP

下载php-7.4.30源文件

代码语言:javascript
复制
cd /opt
wget --timeout=7200 https://www.php.net/distributions/php-7.4.30.tar.gz
tar -xvf  php-7.4.30.tar.gz
cd php-7.4.30

PHP编译配置项

代码语言:javascript
复制
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx \
--enable-inline-optimization --disable-debug --disable-rpath \
--enable-shared --enable-soap  --with-xmlrpc \
--with-openssl --with-mhash  --with-sqlite3 \
--with-zlib --enable-bcmath --with-iconv --with-bz2 \
--enable-calendar --with-curl --with-cdb --enable-dom \
--enable-exif --enable-fileinfo --enable-filter \
--enable-ftp  --with-openssl-dir --with-zlib-dir \
--enable-gd-jis-conv --with-gettext --with-gmp --with-mhash \
--enable-json --enable-mbstring --enable-mbregex  \
--enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
--with-zlib-dir --with-pdo-sqlite --with-readline --enable-session \
--enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg \
--enable-sysvsem --enable-sysvshm --with-xsl --with-ldap   \
--enable-mysqlnd-compression-support --with-pear \
--enable-opcache --disable-fileinfo

编译安装

代码语言:javascript
复制
make -j 3 
make install

PHP环境变量

代码语言:javascript
复制
echo "export PATH=$PATH:/usr/local/php/bin" >> /etc/profile
source /etc/profile

拷贝PHP配置文件

代码语言:javascript
复制
cp  /opt/php-7.4.30/php.ini-production   /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
ln -s /usr/local/php/etc/ /etc/php

修改 /usr/local/php/etc/php-fpm.conf 运行用户和组改为nginx

代码语言:javascript
复制
chown nginx.nginx /usr/local/php/etc/php-fpm.conf
chown -R nginx.nginx /etc/php

查看PHP 安装模块

启动php-fpm

代码语言:javascript
复制
/usr/local/php/sbin/php-fpm

重启php-fpm

代码语言:javascript
复制
kill -USR2 303081

终止php-fpm

代码语言:javascript
复制
kill -INT  303081

Nginx 配置

vim /usr/local/nginx/conf/nginx.conf

代码语言:javascript
复制
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

检查配置

代码语言:javascript
复制
nginx -t

启动nginx

代码语言:javascript
复制
systemctl start nginx

测试

代码语言:javascript
复制
cat > /usr/local/nginx/html/index.php <<eof
<?php
 phpinfo();
 ?>
eof

浏览器访问测试

代码语言:javascript
复制
http://127.0.0.1/index.php

测试PHP连接MySQL

php 脚本

vim /usr/local/nginx/html/mysql.php

代码语言:javascript
复制
<?php
//创建连接
$servername = "127.0.0.1"; //域名 
$username = "root "; //用户名
$passwd = "password"; //密码
//检测连接
$conn = mysqli_connect($servername,$username,$passwd);
if(!$conn){
   die("connection failed:" . mysqli_connect_errno());
}else{
echo "数据库连接成功!!!";
mysqli_close($conn); //关闭连接
}

浏览器访问测试

代码语言:javascript
复制
http://127.0.0.1/mysql.php

编译PHP 7.4出现ldap错误

PHP 编译安装运行"make",提示如下错误

代码语言:javascript
复制
/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_memfree'
//usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:278: sapi/cli/php] Error 1

创建链接修复问题

代码语言:javascript
复制
ln -s /usr/lib64/liblber.so /usr/lib/liblber.so
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档