zoukankan      html  css  js  c++  java
  • php

    1.安装前准备
    yum -y install gd-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel fontconfig curl-devel libxml2-devel

    2.安装php
    #tar -zxvf php-5.3.8.tar.gz
    #cd php-5.3.8

    #./configure --prefix=/opt/modules/php/ --with-mbstring --enable-mbstring=all --with-config-file-path=/opt/modules/php/etc --with-mysql=/opt/modules/mysql/ --with-mysqli=/opt/modules/mysql/bin/mysql_config --with-libxml-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --with-openssl --enable-fpm

    --prefix          如果不配置该选项,安装后可执行文件默认放在/usr/local/bin

    --with-config-file-path  设置php.ini的搜索路径,默认是PREFIX/lib

    --with-mysql       mysql的安装地址

    --with-mysqli

    --with-libxml-dir

    --with-jpeg-dir

     --with-png-dir

    --with-zlib

    --with-curl

    --with-gd

    --with-openssl

    --enable-fpm

     php核心配置选项列表:

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7216695c7150888c40e8e3b081d0035bda66f780d558e99283c54e8090bfdf04121675e67f18cc8ff0887f9866d72c8713b671cf05613a30eafbd5124b165cb1cb3b81897adf04484afa2828208079106127bf0e78b2c1715ba3bab4a66f4a7e95f152907bb9d7236b903&p=9072dd16d9c107b51abd9b7e0e12c6&newp=90759a45d5c701fc57efc027504082231610db2151d2d401298ffe0cc4241a1a1a3aecbf27291100d2cf796605aa4f59e1f73071320634f1f689df08d2ecce7e6f&user=baidu&fm=sc&query=--with-config-file-path&qid=f808f9000005a102&p1=3

    #make && make install
    #cp /opt/modules/php/etc/php-fpm.conf.default /opt/modules/php/etc/php-fpm.conf#vi /opt/modules/php/etc/php-fpm.conf
    ----------------------更改 配置文件中的;
    user = wwwgroup = www [global]pid = run/php-fpm.piderror_log = log/php-fpm.loglog_level = noticeemergency_restart_threshold = 0emergency_restart_interval = 0[www]pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500-------------------------
    #cd /opt/modules//php/sbin/
    #cp php-fpm /etc/init.d/php-fpm
    #chmod 755 /etc/init.d/php-fpm
    #chkconfig php-fpm on #设置开机启动

    #选择PHP.ini配置文件cp opt/modules/src/php-5.3.8/php.ini-production /opt/modules/php/etc/php.ini
    #vi /opt/modules/php/etc/php.ini

    (以下参考资料)
    http://www.cnblogs.com/wubaiqing/archive/2011/11/08/2241195.html
    http://www.jb51.net/article/26597.htm
    http://www.2cto.com/os/201202/120046.html
    http://wenku.it168.com/d_001085800.shtml


     遇到问题(1):

    php-fpm在/usr/local/php/sbin/下
    #/usr/local/php/sbin/php-fpm ========启动php-fpm
    启动错误解决:
    ALERT: [pool wwwpm.min_spare_servers(0) must be a positive value
    编辑php-fpm.conf找到pm.min_spare_servers 去除;号,注意非注释内容pm.min_spare_servers
    ALERT: [pool www] pm.max_spare_servers(0) must be a positive value
    编辑php-fpm.conf找到pm.max_spare_servers 去除;号,同样非注释内容pm.max_spare_servers
    WARNING: [pool www] pm.start_servers is not set. It's been set to 20.
    编辑php-fpm.conf找到pm.start_servers 去除;号,同样非注释内容pm.start_servers
    ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)
    # netstat -ntlpps -ef|grep php查看进程,有N多进程
    nobody 26152 26151 0 15:45 ? 00:00:00 php-fpm: pool www 
    nobody 26153 26151 0 15:45 ? 00:00:00 php-fpm: pool www 
    nobody 26154 26151 0 15:45 ? 00:00:00 php-fpm: pool www 
    nobody 26155 26151 0 15:45 ? 00:00:00 php-fpm: pool www
    ...........................
    #killall php-fpm 结束所有php-fpm进程(太好用)
    再启动php-fpm
    #/usr/local/php/sbin/php-fpm
    成功


    遇到问题(2):

    使用curl命令打开php文件,文件可以打开但未执行,修改nginx的conf文件如下:

    location ~ .*.(php|php5)?$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index test.php;
    include fastcgi.conf;

    开始include写的fastcgi_params,一直不对,上网查询得到解释::::

    很久很久以前,大家都是include fastcgi_params,而且在后面加上一句
    fastcgi_param SCRIPT_FILENAME /var/www/foo$fastcgi_script_name;
    因为这个指令它是数组形态的,并不会说,同名的指令,后面会替换掉前面的.
    而nginx的开发者慢慢发现大家写死这个root有问题.或是不方便?
    于是给了一个方案,或是说,前面的时候,那块还不能写变量?里面是硬编码写死的?
    后面可以了.但是估计很多人还是旧写法,如果直接把这句加入params这个文件的前面话,就会可能跟nginx.conf中同时出现,了二次.就会导致很多莫名的问题,
    有可能某些地方会用前面一个指令的路径,而另一个地方会可能用到后面一个指令.
    所以,作者保留params,新加一个文件叫fastcgi.conf.
    而我却刚好理解成这二个文件是相同的...但是因为没有提供这个指令,所以,导致没有文件发送到php gate中.那么.就返回了空白内容


    遇到问题(3):

    php命令找不到

    解决办法:设置软连接,把安装目录的bin/php连接到根目录下得bin文件夹里,即可顺利执行~


    <?php phpinfo();?>

    第一行就可以看到 我的php版本

  • 相关阅读:
    第六章 Realm及相关对象(四) PrincipalCollection
    Java消息中间件的概述与JMS规范
    什么是红黑树?
    Mybatis逆向工程的pojo实现序列化接口的代码
    关于 Java 中 finally 语句块的深度辨析
    一道字符串变量对比值是否相等题
    java-网络编程
    java. io 流
    java.io.File 类的常用的方法
    list集合排序的两种方法
  • 原文地址:https://www.cnblogs.com/mogujiang/p/5581680.html
Copyright © 2011-2022 走看看