您的位置:首页 > 运维架构 > Linux

centos6.8源码安装php7.0

2017-12-16 23:21 399 查看

安装依赖包

yum -y  install  gd gd-devel  zlib-devel  libjpeg-devel libiconv-devel libxml2 libxml2-devel

curl curl-devel mhash mcrypt libxslt-devel

libmcrypt-devel  libjpeg-devel libpng-devel


安装时遇到 No package libmcrypt available的情况

解决方法:yum install epel-release //扩展包更新包

若libiconv安装失败,可以下载源码,使用源码安装

参考https://www.cnblogs.com/jkko123/p/6357670.html

下载php

下载地址:http://cn2.php.net/distributions/php-7.0.1.tar.gz

tar -zxvf php-7.0.1.tar.gz


cd php-7.0.1


./configure \

--prefix=/usr/local/php7 \

--exec-prefix=/usr/local/php7 \

--bindir=/usr/local/php7/bin \

--sbindir=/usr/local/php7/sbin \

--includedir=/usr/local/php7/include \

--libdir=/usr/local/php7/lib/php \

--mandir=/usr/local/php7/php/man \

--with-config-file-path=/usr/local/php7/etc \

--with-mcrypt=/usr/include \

--with-mhash \

--with-openssl \

--with-mysqli=shared,mysqlnd \

--with-pdo-mysql=shared,mysqlnd \

--with-gd \

--with-iconv \

--with-zlib \

--enable-zip \

--enable-inline-optimization \

--disable-debug \

--disable-rpath \

--enable-shared \

--enable-xml \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-mbregex \

--enable-mbstring \

--enable-ftp \

--enable-gd-native-ttf \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-soap \

--without-pear \

--with-gettext \

--enable-session \

--with-curl \

--with-jpeg-dir \

--with-freetype-dir \

--enable-opcache \

--enable-fpm \

--without-gdbm \

--disable-fileinfo

--with-apxs2="/usr/local/apache2/bin/apxs


make


make install


配置文件

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


cp -R /root/php-7.0.15/sapi/fpm/init.d.php-fpm    /etc/init.d/php-fpm


cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf


cp /use/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf


mkdir /usr/local/php7/tmp


chmod 766 /usr/local/php7/tmp


修改php.ini配置文件

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-zts-20151012/"

session.save_path = "/usr/local/php7/tmp"


配置环境变量

echo 'export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH' >> /etc/profile


使生效
source /etc/profile


自启动

chkconfig --add php-fpm

chkconfig php-fpm on


启动服务

chmod 755 /etc/init.d/php-fpm

service php-fpm start


配置apache

安装php后,需要配置apache使其能够支持php。

在apache的配置文件中加入下边的配置:

AddType application/x-httpd-php .php


这是能使apache调用php模块解析php文件



< IfModule dir_module>

DirectoryIndex index.html

< /IfModule>

中的index.html前加index.php

测试

在apache的htdocs下新建一个index.php文件

< ?php

phpinfo();

? >


在浏览器上测试

添加扩展

在安装结束后,使用phpinfo()发现没有pdo_mysql的扩展。

下载pdo_mysql扩展的压缩包

http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz


tar -xzvf PDO_MYSQL-1.0.2.tgz


cd  /root/php-7.0.15/ext/pdo_mysql


/usr/local/php7/bin/phpize


./configure --with-php-config=/#usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql


为mysql的头文件 做一个软链接,因为mysql安装时指定了安装目录,不做链接,找不到头文件

ln -s /usr/local/mysql/include/ /usr/local/include/


make


make install


修改php配置文件

在配置文件中添加:

extension_dir = /usr/local/php7/lib/php/extensions/no-debug-zts-20151012/

extension=pdo_mysql.so


然后重启php-fpm 和apache

测试,发现仍然无效。

通过phpinfo()函数发现

Loaded Configuration File 为none

然后
cp  /usr/local/php7/lib/php.ini /usr/local/php7/etc/


重新测试成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos php 源码