工作生活

编译php7.3.6

2019-07-04  本文已影响0人  钾肥尔德

依赖

yum install autoconf kernel-devel libtool openssl-devel libcurl-devel libxml2-devel readline-devel libzip-devel zlib-devel

安装Cmake

wget https://github.com/Kitware/CMake/releases/download/v3.15.0-rc3/cmake-3.15.0-rc3.tar.gz
tar -xzf cmake-3.15.0-rc3.tar.gz
./bootstrap --prefix=/usr/local/cmake
gmake
make && make install

安装libzip 1.5.2

wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar -xzf libzip-1.5.2.tar.gz
cmake .
make
make install

编译php

./configure --prefix=/usr/local/php7 --enable-mysqlnd --with-pdo-mysql --with-pdo-mysql=mysqlnd --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --enable-phpdbg --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-zip --with-libzip=/usr/lib64 --with-zlib --with-curl --with-pear --with-openssl --enable-pcntl --with-readline --with-apxs2

#要加 --with-apxs2 才会生成libphp7.so

make
make install

cp php.ini-development /usr/local/php-latest/lib/
cd /usr/local/php-latest/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

create symbolic links for your for your binary files

cd /usr/local
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm

启动PHP-FPM

/usr/local/php-latest/sbin/php-fpm

配置文件。在php的编译目录,执行以下命令。

cp php.ini-development /usr/local/php7/lib/php.ini

查看apache的配置文件是否已经开启关联(一般情况下,安装完php后,会开启,假如没有开启则开启)

vim /usr/local/apache/conf/httpd.conf
LoadModule php5_module /usr/lib64/httpd/modules/libphp7.so

加入以下代码:

<FilesMatch \.php$>SetHandler application/x-httpd-php</FilesMatch>

更改以下代码:

DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3

找到AddType处,并添加以下2行:

AddType application/x-httpd-php .php .php3 .phtml .inc
AddType application/x-httpd-php-source .phps

编译PHP时出现的提示,报错信息为: configure: error: off_t undefined; check your library configuration

vim /etc/ld.so.conf
添加
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
:wq

ldconfig -v

编译php7可能遇到的问题之一是无法生成libphp7.so文件,这可以做以下检查:

1.检查configure是不是缺少一个 --with-apxs2 ,添加一下
2.然后确认apache配置文件httpd.conf中是否含有以下配置:

<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

如果有,则进行第3步,不然添加一下
3.重新 ./configure + 参数 make make install,重新安装安装一下,记得加--with-apxs2。

上一篇下一篇

猜你喜欢

热点阅读