检查安装PHP所需的lib库

yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum -y install freetype-devel libpng-devel gd libcurl-devel libxslt-devel
yum -y install openssl openssl-devel        #PHP所需的依赖包

安装yum无法安装的libiconv库  #以下4个包可以下载后打包为rpm包以供下次使用

yum -y install wget  
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xf libiconv-1.14.tar.gz -C /usr/src/
cd /usr/src/libiconv-1.14/
./configure --prefix=/usr/local/libiconv && make && make install

安装libmcrypt库  mhash加密扩展库  mcrvpt加密扩展库

用 epel  yum源 进行安装

yum -y install mhash mcrypt  libmcrypt-devel

解压PHP的源码包

tar xf php-5.3..tar.gz -C /usr/src/
cd /usr/src/php-5.3./

编译

./configure --prefix=/usr/local/php5.3.28 --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp

编译后这样显示表示编译成功

#部分参数解释

:--prefix=/usr/local/php5.2.28

表示指定PHP的安装路径为/usr/local/php5.3.28

:--with-mysql=/usr/local/mysql

表示需要指定MySQL的安装路径,安装PHP需要的MySQL相关内容。当然,如果没有MySQL软件包,也可以不单独安装,这样的情况可使用--with-mysql=mysqlnd替代--with-mysql=/usr/local/mysql,因为PHP软件里已经自带了连接MySQL的客户端工具。

:--with-fpm-user=www

nginx表示指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一

: --with-fpm-group=www

表示指定PHP-FPM进程管理的组为www,此处最好与Nginx服务用户组统一。

:--enable-fpm

表示激活PHP-FPM方式服务,即以FastCGIF方式运行PHP服务。

正确执行前文配置PHP软件的./configure系列命令后,就可以编译PHP软件了,具体操作过程如下:

ln -s /usr/local/mysql/lib/libmysqlclient.so.
ln -s /usr/local/mysql/lib/libmysqlclient.so. /usr/lib64/
touch ext/phar/phar.phar
make
#make最后的正确提示
Build complete.
Don't forget to run 'make test'.
make install

配置文件

ln -s /usr/local/php5.3.28/ /usr/local/php      #拷贝PHP配置文件到PHP默认目录,并更改文件名称为php.in
cd /usr/src/php-5.3./
cp php.ini-production /usr/local/php/lib/php.ini    #配置PHP(FastCGI方式)的配置文件php-fpm.conf
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf           
#启动PHP服务php-fpm,命令如下
/usr/local/php/sbin/php-fpm            
ps -ef | grep php-fpm
root : ? :: php-fpm: master process (/usr/local/php5.3.28/etc/php-fpm.conf)
nginx : ? :: php-fpm: pool www
nginx : ? :: php-fpm: pool www
root : pts/ :: grep php-fpm

配置Nginx支持PHP程序请求访问

修改/usr/local/nginx/conf/extra下的www.conf 虚拟用户配置文件
server {
listen ;
server_name www.wk.com;
location / {
root /var/www/html/wwwcom;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~.*\.(php|php5)?$ { #新增支持php
root /var/www/html/wwwcom;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include fastcgi.conf;
} } nginx -t            #检测语法
nginx -s reload        #重新启动

测试lnmp                     

cd /var/www/html/wwwcom/
echo "<?php phpinfo(); ?>" >test_info.php

客户端web服务:i服务端p地址/test_info.php

针对Nginx请求访问PHP,然后对PHP连接MySQL的情况进行测试

vim test_mysql.php
<?php
//$link_id=mysql_connect('主机名','用户','密码');
$link_id=mysql_connect('localhost','root','');
if($link_id){
echo "mysql successful by Mr.wang!";
}else{
echo mysql_error();
}
?>

 

PHP安装 (结合之前的nginx安装与mysql安装组合为lnmp)的更多相关文章

  1. Ubuntu Nginx Ruby, Rails Mysql 安装

    1. Nginx 安装 sudo apt-get install nginx 2. Ruby 安装 sudo apt-get install ruby 查看版本 ruby -v 3. Rails 安装 ...

  2. 【开发工具安装配置】MyEclipse,Tomcat,Mysql安装配置

    配置步骤 注:以下路径仅供参考! 一.MyEclipse10 1. 1 破解版破解说明: (1)下载安装好Myeclipse,先不要运行. (2)打开破解工具目录下的cracker.jar文件或run ...

  3. MySql安装(rpm)和启动配置

    MySql安装(rpm)和启动配置 安装环境: OS:Oracle Linux 5.9 安装步骤: 1.解压MySql安装包 [root@bakdbserver mysql]# tar -xf MyS ...

  4. 【Linux】MySQL安装及允许远程访问

    安装环境/工具  Linux( centOS 版) MySQL(MySQL-5.6.28-1.el7.x86_64.rpm-bundle.tar版) 安装步骤 1.解压mysql安装文件 命令:tar ...

  5. 大数据平台-java、mysql安装

    补充: 对于ssh登录不是特定端口22的,进行文件修改 vim /etc/ssh/sshd_config Port 61333 简化后序命令输入,修改文件如下:  一.java环境安装 一共5台服务器 ...

  6. MySql——安装与配置与启动和停止

    在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大 ...

  7. MySQL安装过程中遇到的错误代码为1045的解决方法

    mysql的安装包,及其图形化破解软件:https://pan.baidu.com/s/1PIzaEGpC9QEPUwZ8OowhCw 二级压缩包下边的 视图化管理软件:Navicat.exe   发 ...

  8. nginx在linux下安装

    安装前先确认是否已经安装编译包和一些依赖包如果没有安装: yum install pcre* yum install openssl* yum install zlib yum install zli ...

  9. centos7 安装php7+mysql5.7+nginx+redis

    .1.先修改yum源  https://webtatic.com rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...

  10. linux和mac下的nginx和php的安装

    linux版本相关文档:http://www.nginx.cn/231.html 一.安装php 1.下载包,这里以php 5.3.10为例 2.执行下面shell命令 注意:下面配置的命令中第一行 ...

随机推荐

  1. python连接oracle导出数据文件

    python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configpars ...

  2. D - A or...or B Problem

    题意:给定A,B,问[A,B]里取任意个数按位或,结果有多少种. 思路:这题需要找出一个分界点,即找到最高位的B是1,A是0的位置x(最低位从0开始),那么对于所有OR的结果,x处要么是1要么是0,x ...

  3. Python爬虫进阶之Scrapy框架安装配置

    Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此 ...

  4. TCP/IP——内网IP

    版权声明:本文系博主原创文章,转载或引用请注明出处. 1)背景 REC 1918留出了3块IP地址空间(1个A类地址段,16个B类地址段,256个C类地址段)作为私有的内部使用的地址. 在这个范围内的 ...

  5. python: 错误处理try详解 ,traceback调用栈, 调试(logging)

    摘录:https://www.liaoxuefeng.com/wiki/1016959663602400/1017598873256736 错误处理 调试 错误处理 高级语言都会使用内置的一套try. ...

  6. python+Appium自动化:Capability配置简介

    Capability配置简介 desired capability的功能是配置Appium会话. Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的 ...

  7. 第八章 watch监听 83 名称案例-使用watch监听文本框数据的变化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 集合(六) WeakHashMap与LinkedHashMap

    5.WeakHashMap (1) 简介 WeakHashMap与HashMap几乎都是相同的,就是它的键是“弱引用”. 第一个问题:何为弱引用?即WeakReference类对象. String a ...

  9. java 使用poi读取word文档存入数据库

    使用的poi jar包需要自己下载 读取的word文档中含有多个图片,所以分为两个部分,一个部分读取各个表格中内容,一个是将所有图片截取出来: /** * 遍历段落内容 * docxReadPath ...

  10. jquery之闭包

    闭包 常见形式是函数A里面定义一个函数B,并返回函数体的引用,很抽象是不是,具体代码如下: function wenwa() { ; function cj() { console.log(" ...