阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux中PHP安装与配置详解

164次阅读
没有评论

共计 7186 个字符,预计需要花费 18 分钟才能阅读完成。

Linux 中 PHP 安装与配置详解 (CentOS-6.5:php-5.2.13)。

1 PHP 简介
    PHP(PHP: Hypertext Preprocessor 的缩写,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 Web 开发领域。PHP 的文件后缀名为 php。

2 下载地址
    1)libmcrpyt
    ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
   
    2) php
    http://www.php.net/ 
   
    3)本次安装所有的软件资源包下载地址(安装环境:CentOS-6.5)

到 Linux 公社 1 号 FTP 服务器下载

—————————————— 分割线 ——————————————

FTP 地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2016 年 LinuxIDC.com\8 月 \Linux 中 PHP 安装与配置详解 \

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

—————————————— 分割线 —————————————— 

3 安装说明
    1)PHP 的安装相对比较复杂。可以参考 LNMP 安装方式。
    网址:

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL  http://www.linuxidc.com/Linux/2014-05/102351.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 6.4 下的 LNMP 生产环境搭建及安装脚本 http://www.linuxidc.com/Linux/2013-11/92428.htm

生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm

LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm

CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

     
    2)在安装 lnmp 的时候。系统约定:
    软件源代码包存放位置:/usr/local/src/ 软件名字
    源码包编译安装位置:/usr/local/ 软件名字

4 安装步骤

4.1 安装 libiconv

安装前确保进行安装 Linux 常备支持库,否则会出现各种错误!Linux 中必备常用支持库的安装:

Linux 中必备常用支持库的安装(CentOS-6.5)

在 CentOS 安装软件的时候,可能缺少一部分支持库,而报错。这里首先安装系统常用的支持库。那么在安装的时候就会减少很多的错误的出现。

# yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel

# cd /usr/local/src/php 
# tar zxvf libiconv-1.13.tar.gz
 # cd libiconv-1.13
 # ./configure –prefix=/usr/local
 # make
 # make install

4.2 安装 libmcrypt
# cd /usr/local/src/php   
 # tar zxvf libmcrypt-2.5.8.tar.gz  #解压   
 # cd  libmcrypt-2.5.8 #进入目录   
 # ./configure    #配置   
 # make            #编译   
 # make install  #安装

4.3 安装 mhash
# cd /usr/local/src/php   
 # tar zxvf mhash-0.9.9.9.tar.gz
 # cd mhash-0.9.9.9/
 # ./configure
 # make
 # make install

4.4 建立软链
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
 ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
 ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
 ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
 ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
 ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
 ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
 ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
 ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

 cp  -frp /usr/lib64/libjpeg.* /usr/lib/
 cp  -frp /usr/lib64/libpng* /usr/lib/
 cp  -frp /usr/lib64/libldap* /usr/lib/

4.5 安装 PHP
1) 创建用户 php-fpm 使用的 www 用户。
# groupadd  www  #添加 www 组   
 # useradd -g  www www -s /bin/false  #创建 nginx 运行账户 www 并加入到 www 组,不允许 www 用户直接登录系统

2) 创建安装目录,缓存目录,日志目录
a) 安装目录
# mkdir -p /usr/local/php5 
 b) 缓存目录
# mkdir -p /tmp/phis 
 # chown www:www /tmp/phis -R
 c)session 目录,如果是负载均衡的多台服务器,需要共享 session,session 需要放入 memcach 中
# mkdir -p /tmp/session
 # chown www:www /tmp/session -R
 d) 创建日志目录
# mkdir -p /data0/logs/php
 # chown www:www /data0/logs/php -R

 3)解压
 确保已经安装 mysql-devel  且生成 /usr/lib64/mysql
 64 位系统中 libmysqlclient 默认安装到了 /usr/lib64/mysql/ 目录下
 而 php 编译时是去 /usr/lib 目录下查找 因此要创建软连接

# ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib
 # /sbin/ldconfig
 # cd /usr/local/src/php
 # tar -xvpf php-5.2.13.tar.bz2

 4)补丁
# gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1

 5) 配置
# cd php-5.2.13/
 # ./configure  –prefix=/usr/local/php5 \
 –with-config-file-path=/usr/local/php5/etc \
 –with-mysql=/usr/include/mysql \
 –with-mysqli=/usr/lib64/mysql/mysql_config  \
 –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir \
 –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml \
 –disable-rpath –enable-discard-path –enable-safe-mode \
 –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization \
 –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi  \
 –enable-fpm \
 –enable-force-cgi-redirect  –enable-mbstring \
 –with-mcrypt  –with-gd  –enable-gd-native-ttf \
 –with-openssl  –with-mhash  –enable-pcntl  –enable-sockets \
 –with-ldap  –with-ldap-sasl  –with-xmlrpc  –enable-zip  –enable-soap \
 –without-pear  –with-pdo-mysql

 6)编译
make ZEND_EXTRA_LIBS=’-liconv’

 7)安装

make install

4.6 安装 PHP 扩展模块
1)安装 memcache
 cd /usr/local/src/php
 tar zxvf memcache-2.2.5.tgz
 cd memcache-2.2.5/
 /usr/local/php5/bin/phpize
 ./configure –with-php-config=/usr/local/php5/bin/php-config
 make
 make install
 cd ../

4.7 配置 PHP
方式一:手动配置
1) 复制 php 配置文件到安装目录
 # cp /usr/local/src/php/php-5.2.13/php.ini-dist /usr/local/php5/etc/php.ini

 2)删除系统自带配置文件     
 # rm -rf /etc/php.ini

 3)添加软链接       
 # ln -s /usr/local/php5/etc/php.ini  /etc/php.ini

 4)编辑
vi  /usr/local/php5/etc/php-fpm.conf   
 user = www    #设置 php-fpm 运行账号为 www   
 group = www  #设置 php-fpm 运行组为 www   
 pid = run/php-fpm.pid    #取消前面的分号   

 #设置 php-fpm 开机启动,拷贝 php-fpm 到启动目录   
 # Cp /usr/local/php5/sbin/php-fpm  /etc/rc.d/init.d/php-fpm
 #添加执行权限
chmod +x /etc/rc.d/init.d/php-fpm
 #设置开机启动     
chkconfig php-fpm on     

 #编辑配置文件 
vi /usr/local/php5/etc/php.ini   
找到:disable_functions =   
修改为:
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname   
 #列出 PHP 可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone =   
修改为:date.timezone = PRC  #设置时区   
找到:expose_php = On   
修改为:expose_php = OFF  #禁止显示 php 版本的信息   
PS:在编译 PHP 的过程中可能会报 UNDEFINED REFERENCE TO `LIBICONV_OPEN 无法编译 PHP LIBICONV 错误.

 #配置 php 命令

ln -s /usr/local/php5/bin/php /usr/bin/

方式二:上传文件配置(下载地址见本文上面的 Linux 公社 1 号 FTP 服务器
1) 上传 php.ini
 # cd /usr/local/php5/etc/
 # rz php.ini
 # ln -s /usr/local/php5/etc/php.ini  /etc/php.ini
 2) 上传 php-fpm.conf
 # cd /usr/local/php5/etc
 # rz php-fpm.conf

4.8 启动停止重启 php-fpm
1)启动
# cd /usr/local/php5/sbin
 # ./php-fpm start

 2)停止
# ./php-fpm stop

 2) 重启

# ./php-fpm restart

4.9 配置 Nginx 支持 php

详情请参看我的另外一篇:《Linux 中 Nginx 安装与配置详解 (CentOS-6.5:nginx-1.5.0)》http://www.linuxidc.com/Linux/2016-08/134110.htm

PHP 7,你值得拥有  http://www.linuxidc.com/Linux/2015-06/118847.htm 

在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0  http://www.linuxidc.com/Linux/2015-05/117960.htm 

CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm 

在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm 

Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm 

《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm 

CentOS 6 中配置 PHP 的 LNMP 的开发环境  http://www.linuxidc.com/Linux/2013-12/93869.htm 

PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134111.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计7186字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中