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)
http://download.csdn.net/detail/clevercode/8676163
3 安装说明
1)PHP的安装相对比较复杂。可以参考百度经验的lnmp的安装方式。
网址:http://jingyan.baidu.com/article/915fc414cc28ec51394b2032.html
2)在安装lnmp的时候。系统约定:
软件源代码包存放位置:/usr/local/src/软件名字
源码包编译安装位置:/usr/local/软件名字
4 安装步骤
4.1 安装libiconv
安装前确保进行安装Linux常备支持库,否则会出现各种错误!Linux中必备常用支持库的安装:http://blog.csdn.net/clevercode/article/details/45438401
# 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/
方式二:上传文件配置(下载地址: http://download.csdn.net/detail/clevercode/8676163)
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://blog.csdn.net/clevercode/article/details/45442155
原创作品,出自"CleverCode的博客",转载时请务必注明以下原创地址,否则追究版权法律责任。
原创地址:http://blog.csdn.net/clevercode/article/details/45579837(转载务必注明该地址)。
博客专栏地址(Linux常用软件安装与配置):http://blog.csdn.net/column/details/linuxsoftwareinstall.html。
欢迎大家关注我博客更多的精彩内容:http://blog.csdn.net/CleverCode。