Php最新版安装

前言

用TP开发完新项目后,传到服务器上报错,网上查了一下,说未加载PDO,就加载吧。
找到配置文件php.ini,搜到;extension=php_pdo_mysql.dll,去掉前面的注释,重启;服务器,看似一切正常,却大错特错。
Linux下应该是.so,而不是.dll,php源码中的php.ini-development只是用.dll作为样例,在Linux下不能直接去除注释就行了。
下文介绍Php最新版安装方法

安装工具和相应扩展

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  re2c

安装扩展

安装FreeType(使用thinkphp5验证码时可能会出现缺少freetype的问题)

yum install freetype
find / -name freetype #复制路径 下方php编译会用到

安装curl

cd /usr/local/src/

wget https://curl.haxx.se/download/curl-7.58.0.tar.gz
tar zxvf curl-7.58.0.tar.gz
cd curl-7.58.0

./configure --prefix=/usr/local/curl

make && make install

获取并解压PHP安装包

cd /usr/local/src/

wget http://hk1.php.net/get/php-7.1.14.tar.gz/from/this/mirror
tar zxvf mirror

cd php-7.1.14

#http://cn2.php.net是中国网站,mirror也是压缩包,更换版本的话直接替换url

开始编译PHP

系统配置可以按照自己的项目决定,这里只是几个基础配置项

./configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序

cd php-7.1.14

./configure \
--with-config-file-path=/usr/local/php/etc \
--prefix=/usr/local/php \
--enable-fpm \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-opcache \
--with-mysqli \
--with-pdo-mysql \
--enable-bcmath \
--enable-mbstring \
--enable-sockets \
--with-gd \
--with-openssl \
--with-curl=/usr/local/curl \
--with-gettext \
--with-freetype-dir=/usr/include/freetype2     #这个路径是上面copy下来的,用在此处

#最后
make && make install

php配置文件的路径已经指定到usr/local/etc

#只需要复制源码中的 php.ini-development 或者 php.ini-production 到usr/local/etc目录下即可,vi打开需要的扩展包

cp -R php.ini-development /usr/local/php/etc/php.ini

完成安装,下方是可能会用到功能介绍


phpize编译安装

修改默认的php.ini ,后续添加扩展时需要用到

#修改php配置文件 
vi /usr/local/php/etc/php.ini

#检查扩展库目录是否设置(如果没设置则增加下方代码)
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/"

#开启扩展模块时添加,例如:
extension=curl.so
extension=openssl.so

#重启Apache即可。
/usr/local/apache/bin/apachectl restart

安装curl

cd /usr/local/src/php-7.1.14/ext/curl/
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl
make && make install
vi /usr/local/php/etc/php.ini

#开启扩展模块时添加,例如:
extension=curl.so

安装SSL

cd /usr/local/src/php-7.1.14/ext/openssl/

cp config0.m4 ./config.m4

/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-openssl

make && make install
vi /usr/local/php/etc/php.ini

#开启扩展模块时添加,例如:
extension=openssl.so

安装大部分的扩展与上面的大同小异,有区别的自行百度google

开启错误模式调试代码(未必会用到)

vi php.ini

#显示错误信息  
display_errors = On  
#显示php开始错误信息  
display_startup_errors = On  
#日志记录错误信息  
log_errors = On  
ini_set('display_errors',1);            //错误信息  
ini_set('display_startup_errors',1);    //php启动错误信息  
error_reporting(-1);                    //打印出所有的 错误信息  
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); //将出错信息输出到一个文本文件  

你可能感兴趣的:(Php最新版安装)