yum install sqlite-devel oniguruma autoconf automake libtool libzip libzip-devel
unzip oniguruma-master.zip
cd oniguruma
./autogen.sh
./configure --prefix=/usr
make
make install
sudo tar zxvf libiconv-1.16.tar.gz
cd libiconv-1.16/
./configure --prefix=/usr/local
make
make install
重新弄即可
1、安装libmcrypt
tar zxvf libmcrypt-2.5.8.tar.gz #解压
cd libmcrypt-2.5.8 #进入安装目录
./configure #配置
make #编译
make install #安装
2、安装mhash
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make
make install
3、安装mcrypt
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
ln -s /usr/local/bin/libmcrypt_config /usr/bin/libmcrypt_config #添加软连接
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH #添加环境变量
./configure
make
make install
sudo tar zxvf php-8.0.7.tar.gz
cd php-8.0.7 (–with-mysql=mysqlnd 彻底不可用了,只能用pdo或者mysqli了)
./configure --prefix=/myweb/php --with-config-file-path=/myweb/php/etc --with-mysql-sock=/myweb/mysql/mysql.sock --with-mysqli=mysqlnd --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-openssl --with-mhash --enable-pcntl --enable-sockets --enable-soap --enable-ftp --with-pear --enable-exif --with-pdo-mysql=mysqlnd --with-apxs2=/myweb/apache/bin/apxs --enable-opcache --enable-gd --with-zip --with-zlib --with-iconv=/usr/local/bin/iconv
在安装一个软件包时,最后输入sudo make install命令后,出现以下错误信息:
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
但是在/usr/local/lib下却能找到libiconv.so.2,解决方法是将/usr/local/lib路径添加到/etc/ld.so.conf文件中,然后用sudo ldconfig命令加载,再重新输入sudo make install命令就可以了。
include ld.so.conf.d/*.conf
/usr/local/lib
sudo make ZEND_EXTRA_LIBS=’-liconv’
19、sudo make install安装
20、复制php.ini进/myweb/php/etc/下
cp php.ini-production /myweb/php/etc/php.ini
设置/myweb/apache/conf/httpd.conf 找到libphp.so的设置位置 修改
LoadModule php_module modules/libphp.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
21、设置documentroot设置为/myweb/webroot
23、重启apache sudo apachectl restart
sudo ln -s /myweb/php/bin/php /usr/bin/php
sudo ln -s /myweb/php/bin/phpize /usr/bin/phpize
sudo ln -s /myweb/apache/bin/apachectl /usr/bin/apachectl
sudo ln -s /myweb/php/lib/php/extensions/no-debug-zts-20200930 myweb/php/ext/
extension_dir = ‘/myweb/php/lib/php/extensions/no-debug-zts-20200930’
24安装phpredis
yum install unzip
tar zxvf redis-5.3.4.tgz
cd redis-5.3.4
phpize
./configure -with-php-config=/myweb/php/bin/php-config
make && make install
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
即可查到相关的包的数据
yum install msodbcsql17 mssql-tools unixODBC-devel
tar zxvf pdo_sqlsrv-5.9.0.tgz
cd pdo_sqlsrv-5.9.0
phpize
./configure -with-php-config=/myweb/php/bin/php-config
make && make install
opcache已经被内置了,无需另外编译了
修改php.ini
extension_dir = ‘/myweb/php/lib/php/extensions/no-debug-zts-20200930’
date.timezone = PRC
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
[redis]
extension=redis.so
[sqlsrv]
extension=pdo_sqlsrv.so
/myweb/php/bin/php -i |less 查看配置文件在哪里,编译参数
/myweb/php/bin/php -m |less 查看php加载的模块
nano /etc/crypto-policies/back-ends/opensslcnf.config
中,将MinProtocol=TLSv1.3改为
MinProtocol=TLSv1,然后重启服务器reboot即可。