当前位置:首页 > Web开发 > 正文

但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径

2024-03-31 Web开发

1. 下载安置编译工具

yum groupinstall Development Tools

2.安置依赖包

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel

3.下载并解压php7.4

wget tar -zxvf php-7.4.0.tar.gz cd php-7.4.0

4.编译安置(./configure --help 检察编译参数)

编译前,新增用户组,用户,用于编译使用

groupadd www useradd -g www www

开始编译(按照本身需要增减)

./configure \ --prefix=http://www.mamicode.com/usr/local/php \ --with-config-file-path=http://www.mamicode.com/etc \ --with-fpm-user=www \ --with-fpm-group=www \ --with-curl \ --with-freetype-dir \ --enable-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

这里需要注意的是在php7.4 编译参数 --with-gd  要改成了 --enable-gd

当报错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

error: Package requirements (sqlite3 > 3.7.4) were not met

yum install libsqlite3x-devel -y

error: Package requirements (oniguruma) were not met

yum install oniguruma-devel -y

当yum install 提示 "没可用软件包"

yum install -y epel-release

off_t undefined 报错

configure: 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

/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

编译没问题了,,执行make && make install  安置完毕

5.配置环境

执行完安置命令后php7.4就已经安置在到了/usr/local/php目录下了

/usr/local/php/bin/php -v

检察版本

添加环境变量

vim /etc/profile

添加到最后

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

更新环境变量

source /etc/profile

检察版本

php -v

6.配置php-fpm

cp php.ini-production /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/ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm

启动php-fpm

/etc/init.d/php-fpm start 或者 service php-fpm start

centos7 编译安置 php7.4

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31865.html