PHP简介

安装PHP

解决依赖关系

# 请配置好yum源(系统安装源及epel源)后执行如下命令:
yum -y groupinstall "Desktop Platform Development"
yum -y install bzip2-devel libmcrypt-devel mhash-devel

编译安装php-5.4.26

tar xf php-5.4.26.tar.bz2
cd php-5.4.26
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
make
make test
make intall
# 为php提供配置文件
cp php.ini-production /etc/php.ini

配置php-fpm

# 为php-fpm提供Sysv init脚本,并将其添加至服务列表:
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
# 为php-fpm提供配置文件:
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# 编辑php-fpm的配置文件:
# vim /usr/local/php/etc/php-fpm.conf
# 配置fpm的相关选项为你所需要的值,并启用pid文件
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php/var/run/php-fpm.pid
# 接下来就可以启动php-fpm了:
service php-fpm start
# 使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了)
ps aux | grep php-fpm
#默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。
netstat -tnlp | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 689/php-fpm

配置HTTPD

启用httpd的相关模块

# 在httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

配置虚拟主机支持使用fastcgi

# 使用虚拟主机时,需要先禁用主配置文件的DocumentRoot项,同时启用httpd-vhosts.conf配置文件
# 同时监听8080端口
vi /ect/httpd/httpd.conf
# DocumentRoot "/usr/local/apache/htdocs"
~~~
# Virtual hosts
Include /etc/httpd/extra/httpd-vhosts.conf
~~~
Listen 8080
===========================
# 在此先借用phpMyAdmin的虚拟主机设置说明
vi /etc/httpd/extra/httpd-vhosts.conf
<VirtualHost *:8080>
DocumentRoot "/www/phpMyAdmin.com"
ServerName phpMyAdmin.com
ErrorLog "logs/phpMyAdmin.com-error_log"
CustomLog "logs/phpMyAdmin.com-access_log" common
# 关闭正向代理
ProxyRequests Off
# 把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.111:9000/www/phpMyAdmin.com/$1
<Directory "/www/phpMyAdmin.com">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

编辑httpd配置文件

# 让apache能识别php格式的页面,并支持php格式的主页
# vim /etc/httpd/httpd.conf
# 添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# 定位至DirectoryIndex index.html,修改内容为
DirectoryIndex index.php index.html

编辑测试页面

# 动态内容放置于PHP服务器上,故以下文件在192.168.1.111上
# vi /www/phpMyAdmin/index.php
<?php
$link = mysql_connect('192.168.1.112','pma','pma123');
if ($link)
echo "Success...";
else
echo "Failure...";
mysql_close();
?>

访问测试

# 浏览器测试访问
http://192.168.1.110:8080

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统权限全套完整图
  2. [DFNews] EnCase 更新至 v7.10
  3. 敲-PHP与MySQL,JSON
  4. 【java基础】内存分析
  5. ZJOI2016二试+游记
  6. 转:python webdriver API 之对话框处理
  7. java createSQLQuery().list()返回日期格式没有时分秒的解决方法
  8. .net中压缩和解压缩的处理
  9. ASP.NET MVC 3 Razor Nested foreach with if statements
  10. 关于用PS改变图像颜色
  11. POJ 1236 Network of Schools(tarjan算法 + LCA)
  12. c++中,int *a=new int(120)语句的意思
  13. PPLB条码打印
  14. Python入门之函数的形式参数与实参/参数的具体使用方法
  15. ADB抓取内存命令
  16. 关于apache配置映射端口
  17. 如何知道局域网内哪些ip被占用
  18. Python学习之旅(二十二)
  19. 记录 Ext 日历月份选择控件bug解决过程结果
  20. Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件

热门文章

  1. hdu 3853 概率dp
  2. bzoj 4036 集合幂级数
  3. API测试利器postMan 使用教程
  4. 微信支付回调取不到body体中的信息node.js
  5. Android音频播放之SoundPool 详解
  6. ISO 7816-4: GET RESPONSE and ENVELOPE command
  7. .NET基于Eleasticsearch搭建日志系统实战演练
  8. Git 的 WindowsXP安装
  9. AngularJS中Directive间交互实现合成
  10. 在ASP.NET MVC4中使用Quartz.NET执行定时任务