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版本

  • 相关阅读:
    CodeForces 7B
    CodeForces 4D
    离散化
    线段树入门
    洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)
    Codeforces 1295D Same GCDs (欧拉函数)
    Codeforces 1295C Obtain The String (二分)
    Codeforces 1295B Infinite Prefixes
    Codeforces 1295A Display The Number(思维)
    Codeforces 1294F Three Paths on a Tree(树的直径,思维)
  • 原文地址:https://www.cnblogs.com/mogujiang/p/5581680.html
Copyright © 2011-2022 走看看