Linux系统下PHP-FPM的安装和配置教程

yipeiwu_com7年前PHP代码库

基本安装方法

安装工具包

  $ sudo apt-get install python-software-properties 

添加ppa源

  $ sudo add-apt-repository ppa:yola/php5 

安装php5-fpm

  sudo apt-get update 
   
  sudo apt-get install php5-fpm 

其它必要的软件安装接

  sudo  apt-get  install  nginx 


配置php-fpm


php-fpm的解析器是C/S结构,它的配置文件位于:
(1)/etc/php5/fpm/php-fpm.conf
(2)/etc/php5/fpm/pool.d/
一般没什么严格的配置的要求,或者说这块我还没有具体的研究每个配置参数的意义
我采用了tcp模式与fastcgi进程进行连接,因此我修改了tcp监听的地址和端口,修改了一下监视目录的名称,这里不做具体详细解释了,大家可以参考官方文档根据自己的需求进行配置

重启php5-fpm

安装提示错误解决
如果服务器的系统源中没有php5-fpm,安装的时候会提示:

Reading state information... Done
E: Couldn't find package php5-fpm

解决办法

1. 添加非官方的源到 /etc/apt/sources.list

echo "deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main" >> /etc/apt/sources.list 
echo "deb-src http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main" >> /etc/apt/sources.list 

2. 安装php5-fpm

sudo apt-get update && sudo apt-get install php5-fpm

3. 安装php扩展组件

sudo apt-get install php-apc php5-curl php5-gd php5-imagick php5-mysql\
 php5-memcache php5-memcached php5-mcrypt

4. 启动php-fpm

sudo /etc/init.d/php5-fpm start

php.in位于/etc/php5/fpm/php.ini

php-fpm.ini位于/etc/php5/fpm/php5-fpm.conf


php-fpm启动时报错

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs/gd.so' - 
/usr/lib/php5/20060613+lfs/gd.so: undefined symbol: gdImageCreateFromJpeg in Unknown on line 0

locate libgd 查看gd的动态库位置,如果/usr/local/lib/目录里有则

rm /usr/local/lib/libgd*

重启php-fpm即可

去掉php-fpm启动时警告提示信息

PHP Deprecated: Comments starting with '#' are deprecated in 
/etc/php5/fpm/conf.d/imagick.ini on line 1 in Unknown on line 0

把#变成;即可去掉该提示


相关文章

PHP如何利用P3P实现跨域

有别于JS跨域、IFRAME跨域等的常用处理办法,还可以利用P3P来实现跨域。P3P是什么P3P(Platform for Privacy Preferences)是W3C公布的一项隐私...

非常实用的PHP常用函数汇总

本文实例总结了一些在php应用开发中常用到的函数,这些函数有字符操作,文件操作及其它的一些操作了,分享给大家供大家参考。具体如下: 1、PHP加密解密 PHP加密和解密函数可以用来加密一...

PHP 编程的 5个良好习惯

根据具体的情况,一般的开发人员往往比优秀的开发人员的效率低 10%~20%。优秀的开发人员的效率更高,因为他们拥有丰富的经验和良好的编程习惯。不良的编程习惯将会影响到效率。本文通过展示一...

PHP实现的redis主从数据库状态检测功能示例

本文实例讲述了PHP实现的redis主从数据库状态检测功能。分享给大家供大家参考,具体如下: 实例: <?php /** * 检测多个主从redis数据库是否挂掉...

php结合安卓客户端实现查询交互实例

PHP 服务器端: function getids() { $this->output->set_header('Content-Type: application...