文档:
linux 6下编译安装配置LAMP平台: http://blog.csdn.net/leshami/article/details/51944920
Linux 下编译安装 PHP 5.6:http://blog.aboutc.net/linux/65/compile-and-install-php-on-linux
linux编译安装php7: http://www.jianshu.com/p/3d61b051d9ea
https://www.freehao123.com/php-7/HP 7安装使用体验:性能大提升,兼容性强,扩展支持不够,升级PHP要谨
php5安装:
yum -y install libmcrypt-devel mhash mcrypt mhash-devel
yum install libevent libevent-develyum install zlib-devel libxml2-devel \
libjpeg-devel libpng-devel freetype-devel \
gd-devel libcurl-devel \
libxslt-devel bzip2-develcd /server/tools
wget http://192.168.11.201/tools/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make installcd /server/tools
wget http://192.168.11.201/tools/php-5.6.32.tar.gz
tar zxf php-5.6.32.tar.gz
cd php-5.6.32
./configure --prefix=/app/php-5.6.32 \
--with-apxs2=/app/httpd-2.4.28/bin/apxs \
--with-config-file-path=/app/php-5.6.32/etc \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-bz2 \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--with-gettext \
--enable-shared \
--enable-opcacheln -s /app/mysql/lib/libmysqlclient.so.20 /usr/lib64/
make && make install
ln -sf /app/php-5.6.32/ /app/php
----------------------------------------
#加判断事先备份好ini文件
cp php.ini-production /app/php-5.6.32/etc/php.ini
cd /app/php-5.6.32/etc/
#加判断事先备份好php-fpm.conf文件
cp php-fpm.conf.default php-fpm.conf
cd /server/tools/php-5.6.32
cp sapi/fpm/init.d.php-fpm /etc/init.d/php
chmod +x /etc/init.d/php
service php startchkconfig --add php
chkconfig php on
--------------------------------------------------------------------------------
配置apache支持php
LoadModule php5_module modules/libphp5.so
#ProxyRequests Off ###关闭正向代理,开启下行的反向代理
#ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/home/wwwroot/default/$1<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch><FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
以下方式非官网推荐。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#必须加这两句,否则apache是无法识别php的
ProxyRequests Off ###关闭正向代理,开启下行的反向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/home/wwwroot/default/$1
测试:
[root@linux-test2 default]# cat test.php
<?php phpinfo(); ?>
数据库测试:
<?php
$host = '127.0.0.1';
$port = 52100;//mysql端口号,默认为3306,此处为3307
$user = 'root';
$pwd = 'dugu16829987';
$link = @mysql_connect("{$host}:{$port}", $user, $pwd, true);
if(!$link) {
die('Database Connect Error:'.mysql_error());
}
echo 'conn mysql ok!'
?>
时区问题:
http://beikeit.com/post-682.html 方法1:
(最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = "Asia/Shanghai",重启环境就ok了
重启apache
在页头加上设置时区ini_set('date.timezone','Asia/Shanghai'); 这个才可以解决
[root@linux-test2 default]# cat test.php
<?php
ini_set('date.timezone','Asia/Shanghai');
phpinfo();
?>
安装扩展
[root@linux-test2 php-5.6.32]# pecl install memcached
pecl/memcached requires PHP (version >= 7.0.0), installed version is 5.5.36
pecl/memcached can optionally use PHP extension "igbinary" (version >= 2.0)
pecl/memcached can optionally use PHP extension "msgpack" (version >= 2.0)
No valid packages found
install failed
cd /server/tools
wget http://192.168.11.201/tools/memcache-2.2.7.tgz && tar zxf memcache-2.2.7.tgz || exit 0
cd memcache-2.2.7
/app/php/bin/phpize
./configure --with-php-config=/app/php/bin/php-config --enable-memcache
make && make install
在php.ini文件末尾加1行就ok的了
;extension_dir = "/app/php-5.6.32/lib/php/extensions/no-debug-non-zts-20131226/"
extension = memcache.soservice php restart
#httpd一定要重启,否则test.php就显示不出cache
service httpd restart
安装完7.2.0之后:
[root@linux-test2 php-fpm.d]# php -v
PHP 5.5.36 (cli) (built: Nov 1 2017 16:46:28)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologiesexport PATH=/app/php-7.2.0/bin:$PATH
source /etc/profile
[root@linux-test2 php-fpm.d]# php -v
PHP 7.2.0 (cli) (built: Dec 15 2017 18:46:57) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
[root@linux-test2 php-fpm.d]# vim /etc/profile
[root@linux-test2 php-fpm.d]# pecl install memcached
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
pecl/memcached can optionally use PHP extension "igbinary" (version >= 2.0)
pecl/memcached can optionally use PHP extension "msgpack" (version >= 2.0)
downloading memcached-3.0.4.tgz ...
Starting to download memcached-3.0.4.tgz (78,776 bytes)
..................done: 78,776 bytes
15 source files, building
running: phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
libmemcached directory [no] :
查询安装模块:
[root@linux-test2 php-5.6.32]# php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
ereg
filter
ftp
php7版本安装:
cd /server/tools
wget http://192.168.11.201/tools/php-7.2.0.tar.gz
tar zxf php-7.2.0.tar.gz
cd php-7.2.0./configure --prefix=/app/php-7.2.0 \
--with-apxs2=/app/httpd-2.4.28/bin/apxs \
--with-config-file-path=/app/php-7.2.0/etc \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-bz2 \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--with-gettext \
--enable-shared \
--enable-opcache##configure: WARNING: unrecognized options: --with-mysql, --with-mcrypt, --enable-gd-native-ttf
ln -s /app/mysql/lib/libmysqlclient.so.20 /usr/lib64/
make && make install
ln -sf /app/php-7.2.0/ /app/php----------------------------------------
#备份好ini文件
/bin/cp php.ini-production /app/php-7.2.0/etc/php.inicd /app/php-7.2.0/etc/php-fpm.d/
cp www.conf.default www.confcd /app/php-7.2.0/etc/
#备份好php-fpm.conf文件
cp php-fpm.conf.default php-fpm.confcd /server/tools/php-7.2.0
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
service php-fpm start
测试:
httpd.conf会自动加上php模块
#LoadModule php5_module modules/libphp5.so
LoadModule php7_module modules/libphp7.so