PHP安装

文档:

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-devel

yum install  zlib-devel libxml2-devel \
libjpeg-devel  libpng-devel freetype-devel \
gd-devel libcurl-devel \
libxslt-devel  bzip2-devel

cd /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 install

cd /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-opcache

ln -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 start

chkconfig --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.so

service 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 Technologies

export 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.ini

cd  /app/php-7.2.0/etc/php-fpm.d/
cp www.conf.default www.conf

cd /app/php-7.2.0/etc/
#备份好php-fpm.conf文件
cp php-fpm.conf.default php-fpm.conf

cd /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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_36013896

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值