探索PHP+Nginx(二) 安装PHP

首先,我们简单了解一下什么是PHP,PHP(Hypertext Preprocessor 超文本预处理器) 和Java语言一样,PHP也是属于高级语言,并不能直接在操作系统上运行。Java运行需要虚拟机,PHP运行也是需要Zend Engine引擎。与Java不同的是,Java属于编译与解析性语言,而PHP只是是解析性语言。所以,我们可以从语言性质上简单看出,Java运行之前先通过编译形成.class文件,所以运行效率会更快,PHP编写程序后检查语法通过,就可以直接运行,从而开发效率会更快。

去年,刚刚开始从Java转学PHP的时候,PHP的弱类型特效深深吸引了我,在Java中我们经常会遇到各种类型转换,或者考虑用什么样的类型去存储数据,这种严格的编程非常局限了开发的效率,当然这个缺点也是它的优势之处,更加严格的类型定义,让Java获得更快的运行速度。然后,我记得学到PHP+Mysql时候,我都非常惊讶!为什么PHP对数据库的操作这么简单,是我写错了吗?因为当初学Java的时候,Mysql的各种jar包搞到吐血。真的PHP的开发做得非常好,所以很多学PHP的程序员都会开一个玩笑:PHP是世界上最好的语言。其实说的并不是其他语言不好,而是作为程序员都喜欢那种自动化,更少的人工的方法去开发和维护程序。

以上都是个人的理解,不一定是正确的,如果说的不对,希望大家帮助指正。

回到正题:安装PHP,我们讲的安装不是在windows重复点击下一步的过程,这样就太没劲了。我今天想说的是,如何在Linux编译安装PHP,并理解PHP扩展。

在上次笔记中,我已经准备了Linux系统,并且配置好网络。

安装PHP,并开启FPM

# 更新系统

yum -y update

升级所有包,改变软件设置和系统设置,系统版本内核都升级

reboot

# 安装基础软件

yum -y install vim wget w3m gcc gcc-c++ make automake gdb cmake kernel-devel kernel-headers lsof zip unzip xz git tree nmap mailx tcpdump sysstat screen dtach ntp telnet man

# 安装依赖库

yum -y install gcc 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 e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* pcre-devel zlib-devel autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* perl gettext pcre-devel zlib-devel libXpm-devel libXpm icu icu4j libicu* wget lrzsz mysql-devel unzip libaio rsync openssh-clients ntp

# 安装 PHP

# 安装PHP基础环境

# PHP 配置文件:/usr/local/php/etc/php.ini

# PHP-FPM 配置文件:/usr/local/php/etc/php-fpm.conf

# 服务控制:service php-fpm (start|stop|restart|reload)

# 安装PHP依赖库

cd /usr/local/src

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

tar zxvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7/

./configure

make

make install

cd libltdl/

./configure --enable-ltdl-install

make

make install

yum install mysql-devel

ln -s /usr/lib64/libXpm.so* /usr/lib/

mkdir /usr/lib/mysql

ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib/mysql

# 安装PHP

#wget http://tw1.php.net/get/php-5.4.26.tar.gz/from/this/mirror

#tar zxf php-5.4.26.tar.gz

#cd php-5.4.26

# 下载src

wget http://tw1.php.net/get/php-5.6.21.tar.gz/from/this/mirror

mv mirror php-5.6.21.tar.gz

# 解压

tar zxf php-5.6.21.tar.gz

cd php-5.6.21

# 配置参数

./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-libxml-dir \

--with-pcre-dir \

--with-mcrypt \

--with-openssl \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-xpm-dir \

--with-gettext \

--with-freetype-dir \

--with-bz2 \

--with-iconv-dir \

--with-zlib \

--with-zlib-dir \

--with-curl \

--with-xmlrpc \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--with-icu-dir=/usr \

--enable-pcntl \

--enable-intl \

--enable-sockets \

--enable-gd-native-ttf \

--enable-gd-jis-conv \

--enable-ftp \

--enable-zip \

--enable-calendar \

--enable-mbstring \

--enable-exif \

--enable-soap \

--enable-wddx \

--enable-bcmath \

--enable-fd-setsize=4096 \

--disable-short-tags \

--disable-ipv6

# 编译

make

# 安装

make install

# 创建配置文件

#cp /usr/local/src/php-5.4.26/php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/src/php-5.6.21/php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

# 添加新用户/用户组

groupadd www

useradd -r -g www www -s /sbin/nologin

# 创建 php 运行所需要目录并设置权限

mkdir /var/run/php

mkdir /var/log/php

chown -R www:www /var/run/php/

chown -R www:www /var/log/php/

# 设置 php-fpm 配置,修改以下参数项。

# vim /usr/local/php/etc/php-fpm.conf

pid = /var/run/php/php-fpm.pid

error_log = /var/log/php/error.log

user = www

group = www

listen = 127.0.0.1:9000

pm = static

# php-fpm 加入系统服务并开机启动

#cp /usr/local/src/php-5.4.26/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

cp /usr/local/src/php-5.6.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

# vim /etc/init.d/php-fpm

#php_fpm_PID=${prefix}/var/run/php-fpm.pid

php_fpm_PID=/var/run/php/php-fpm.pid

# 编辑 PHP 相关路径(/etc/init.d/php-fpm)

chmod u+x /etc/init.d/php-fpm

chkconfig --add php-fpm

service php-fpm start

chkconfig php-fpm on

ps -d

表示我们正常安装成功了,已经启动了php-fpm.

PHP安装完成!

时间: 2024-10-12 22:21:08

探索PHP+Nginx(二) 安装PHP的相关文章

Nginx知多少系列之(二)安装

原文:Nginx知多少系列之(二)安装 目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+Keepalived高可用(主从模式) 8.Linux下.NET Core项目Nginx+Keepalived高可用(双主模式) 9.Linux下.NET Core项目LVS+Keepalived+Nginx高可用集群 10.构建静态服务器 11.日志分析 1

linux下nginx的安装

以Red Hat Enterprise Linux 5为例进行讲解. 相关系列: linux下jdk的安装 linux下ant的安装 linux下redis的安装 linux下svn的安装 linux下nginx的安装 linux下graphviz的安装 linux下doxygen的安装 安装nginx版本为0.8.36 一.下载nginx 下载地址:http://www.nginx.org/ 选择nginx-0.8.36 将该下载包拷贝到/usr/local/下(随意了,找个地方就好) 二.安

nginx的安装

nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ n  PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装

nginx 的安装

一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib-devel 所以执行如下命令安装 [html] view plaincopy $   yum install gcc-c++ $   yum install pcre pcre-devel $   yum install zlib zlib-devel $   yum install openss

Nginx基础学习(一)—Nginx的安装

一.Nginx介绍 1.什么是Nginx?      Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定.   2.Nginx的应用场景 (1)HTTP服务器      Nginx是一个http服务可以独立提供http服务.可以做网页静态服务器.   (2)虚拟主机      可以实现在一台服务器虚拟出多个网

linux下 php+nginx+mysql安装配置

我主要是用来安装php,以及nginx和php的交互.原文:http://www.cnblogs.com/lost-1987/articles/2642979.html 一 安装插件 可以选择YUM安装或者源码编译安装 gcc gcc-c++ zlib pcre pcre-devel libevent libevent-devel libxml2 libxml2-devel libmcrypt libmcrypt-devel curl-devel libpng-devel libtool-ltd

手把手教你nginx基础安装配置

手把手教你nginx基础安装配置! 一.Nginx安装及简单配置: 安装环境和依赖的包: #yum groupinstall "developmenttools" "server platform development" # yum -yinstall pcre-devel #yum install openssl-devel 下载相关nginx源码包: #wgethttp://nginx.org/download/nginx-1.6.2.tar.gz 解压缩源码

Nginx的安装及反向代理设置

因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5.tar.gztar -zxvf nginx-1.0.5.tar.gzcd nginx-1.0.5./configuremakemake install 二.反向代理设置编辑Nginx的配置文件vi /usr/local/nginx/conf/nginx.conf,替换server { }的{ }中的

nginx+php5-fpm安装

一.基础环境 1.cat /etc/debian_version  7.8 2.uname -r 3.2.0-4-amd64 3.ip(eth0) 10.0.0.109 4.nginx版本 1.4.7 二.安装nginx 1.安装所需要的基础包 apt-get -y install libpcre3-dev libpcre3 libssl-dev zlib1g-dev make 2.建立nginx用户 1)groupadd nginx 2)useradd nginx -g nginx -s /b

Linux下Nginx的安装、升级及动态添加模块

系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.org/download/nginx-1.10.1.tar.gz命令直接下载解压nginx-1.10.1.tar.gz文件: tar zxvf nginx-1.10.1.tar.gz 第二步 配置 cd nginx-1.10.1 ./configure --prefix=/usr/local/nginx