首页 > 服务器学习 > Linux > LAMP环境源码安装②PHP源码安装
2016
12-17

LAMP环境源码安装②PHP源码安装

php源码安装:安装php时的配置:

./configure --prefix=/usr/local/php5.5 --with-config-file-path=/usr/local/php5.5/lib \

--with-apxs2=/usr/local/httpd2/bin/apxs \

--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd \

--with-freetype-dir --with-gd --with-zlib --with-libxml-dir \

--with-jpeg-dir --with-png-dir --enable-mbstring --enable-bcmath \

--enable-sockets --enable-mbregex --with-iconv-dir --with-curl \

--enable-shared --with-mcrypt --with-mhash --with-bz2

--with-config-file-path:设置配置文件存放位置

--with-apxs2:让apache支持php,为apache生成php模块并自动修改httpd.conf配置文件,使其引入php模块

--with-mysql --with-pdo-mysql --with-mysqli

这三项如果指定了mysql安装路径那么连接mysql时使用mysql官方自带的libmysql驱动,当这三项的值都设置为mysqlnd,那么就会使用php自带的mysqlnd驱动,libmysql驱动是比较老的驱动, PHP 5.3开始已经建议使用mysqlnd.

使用mysqlnd首先规避了许可协议和版权的问题,由为mysqlnd内置于PHP源代码,所以在编译安装php时就不需要预先安装mysql server也可以,另外最重要的是,mysqlnd是专门为php优化编写的驱动,它使用了PHP本身的特性,在内存管理,性能上比libmysql更有优势,引入特有的函数mysqli_fetch_all()和一些性能统计函数mysqli_get_cache_stats(), mysqli_get_client_stats(), mysqli_get_connection_stats(),等,另外SSL支持、压缩协议支持、命名管道支持、增强的持久连接等都是mysqlnd所特有的。

--enable-mbstring :开启多字节字符串的支持

--enable-bcmath :启用bcmatch(高精度数学运算)

--enable-sockets :网络编程接口。它包含大量的库函数

--enable-mbregex :多字节正则表达式的支持

--with-iconv-dir=DIR :开启对转换字符编码的支持

--with-mcrypt=DIR :加密扩展库Mcrypt

--with-mhash=DIR :支持哈希计算

安装完成以后需要手动把php.ini复制到php安装目录下的lib目录下,php.ini文件可以在php的源码包里面找到,5.4版本之前是php.ini-dist(开发测试版本)和php.ini-recommended(线上生产版本)文件,5.4版本之后是php.ini-development(开发测试版本)和php.ini-production(线上生产版本)

最后还需要配置apache使其支持php,打开apache的配置文件,在配置文件中的标签<IfModule mime_module>中间增加

AddType application/x-httpd-php .php

让apache遇到php文件时调用php模块解释执行。

编译安装php以后添加新的模块(以添加soap模块为例):

查看soap模块是否安装的办法:在php的安装目录下运行php -m来查看

/usr/local/php5.5/bin/php -m | grep soap

如果没有安装,则进入php的源文件安装包的解压目录

cd php-5.5.38/ext/soap

进入后在此运行phpize命令

/usr/local/php/bin/phpize

查看信息是否有出错,没有出错的话运行如下命令:

./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap

然后是编译和安装

make && make install

安装好之后会提示soap.so文件的保存路径

编译后的soap.so文件保存在了/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222目录下,接着修改php.ini文件

手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = “./”,默认是注释掉的

修改为extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222/”

并在此行后增加 extension = “soap.so” ,然后保存:

重新启动apache,在运行php -m就已经能看到扩展的soap模块了。

 

附:网络上查找的一个php7.0安装配置

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

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

make && make install
配置环境变量vim /etc/profile在末尾追加export PATH=/usr/local/php/bin:$PATH
执行命令使得改动立即生效source /etc/profile

配置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/www.conf
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

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。