zoukankan      html  css  js  c++  java
  • lnmp安装--php安装

    版本:php5.6.4 x86_64

    centos 6.6 x86_64

    安装php之所以难,是因为要安装的扩展多,依赖关系复杂。

    安装前的准备:

    先看你想要安装哪些扩展。需要哪些包。下载地址:http://pan.baidu.com/s/1kTn7VQB

    -rw-r--r--.  1 root root   3001938 Jun 15  2013 curl-7.19.6.tar.gz
    -rw-r--r--.  1 root root   1775673 Jun 17  2013 freetype-2.3.5.tar.gz
    -rw-r--r--.  1 root root    587617 Nov  3  2004 gd-2.0.33.tar.gz
    -rw-r--r--.  1 root root    258396 Jun 15  2013 GD-2.44.tar.gz-rw-r--r--.  1 root root    991456 Jun 15  2013 jpegsrc.v8d.tar.gz
    -rw-r--r--.  1 root root   2353373 Jun 17  2013 libgd-2.1.0-rc2.tar.gz
    -rw-r--r--.  1 root root   1335178 Jun 15  2013 libmcrypt-2.5.8.tar.gz
    -rw-r--r--.  1 root root    837439 Jun 15  2013 libpng-1.4.12.tar.gz
    -rw-r--r--.  1 root root    471915 Jun 15  2013 mcrypt-2.6.8.tar.gz
    -rw-r--r--.  1 root root    655906 Jun 15  2013 mhash-0.9.9.9.tar.bz2-rw-r--r--.  1 root root   2402592 Dec 23  2006 ncurses-5.6.tar.gz
    -rw-r--r--.  1 root root  17323206 May 18  2013 perl-5.18.0.tar.gz-rw-r--r--.  1 root root    560351 Jun 15  2013 zlib-1.2.7.tar.gz

    再看看配置项:

    ./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

    可以看出我需要的功能有,gd库,mysql,mysqli,pdo,fpm,curl,mbstring。

    可能新手会很困惑,php怎么和mysql结合,这里要说一下,php只需要安装上mysql的扩展(mysql,mysqli,pdo-mysql),php程序连接mysql的时候,会自动到对应host的端口连接mysql,只要mysql服务在监听就没有问题。

    /etc/my.cnf配置

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    [client]
    socket=/var/lib/mysql/mysql.sock

    将上面所列出的包,依次安装上。

    然后再./configure php

    yum install libxml2 libxml2-devel
    yum install bzip2 bzip2-devel
    找不到 gd.h。
    gdlib-config  --all
    实际上找不到gd.h是因为没有安装下面两个包。
    yum install libXpm
    yum install libXpm-devel
    安装完,配置gd库。
    perl ./Makefile.PL 
    cd libgd-2.1.0-rc2
    ./configure --with-xpm=/usr/lib
    中间会显示gd支持的特性。
    make
    make install
    cd GD-2.44
    perl ./Makefile.PL 
    make&&make install
    ./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 
      754  make
      755  make install
      756  php
      757  /usr/local/sbin/php-fpm -h
      758  /usr/local/php/sbin/php-fpm -h
      759  ls /usr/local/php/php/
      760  ls /usr/local/php/
      761  ls
      762  cp php.ini-development  /usr/local/php/php/php.ini
      763  ls /usr/local/php/php/
      764  find / -name php-fpm.conf.default
      765  cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf
      766  cp sapi/fpm/php-fpm /usr/local/bin/
      767  php-fpm start
      768  php-fpm
      769  vim /usr/local/php/php/php.ini 
    View Code

    至此全部安装完毕。

    663  ls
      664  ./configure --help
      665  ./configure --help |grep mysqli
      666  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fastcgi --enable-safe-mode --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/gd2/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
    
    
    
      667  yum install libxml2 libxml2-devel
      668  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fastcgi --enable-safe-mode --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/gd2/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
      669  yum install BZip2
      670  yum list |grep bzip2
      671  yum install bzip2 bzip2-devel
      672  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fastcgi --enable-safe-mode --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/gd2/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
      673  ls /usr/local |grep gd
      674  ls /usr/local/
      675  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fastcgi --enable-safe-mode --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/gd2/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
      676  ls /usr/local
      677  ls /usr/local/lib
      678  find / -name gd.h
      679  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fastcgi --enable-safe-mode --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
      680  ./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
      681  vim README.md
      682  ls
      683  vim INSTALL 
      684  make
      685  ls /usr/local/
      686  ls /usr/local/lib
      687  find / |grep gd$
      688  cd /usr/share/locale/gd/
      689  ls
      690  cd /root/Downloads/
      691  ls
      692  cd extended/
      693  ls
      694  cd GD-2.44
      695  ls
      696  vim README
      697  find / |grep bin/gd
      698  /usr/sbin/gdm
      699  /usr/sbin/gdm --help
      700  /usr/sbin/gdm --version
      701  find / |grep bin/gd$
      702  gd_info();
      703  gd_info() ;
      704  gd_info
      705  gdlib-config
      706  gdlib-config  all
      707  gdlib-config  --all
      708  gdbus
      709  gdm
      710  gdm --help
      711  gdm-binary
      712  gdm-binary --help
      713  gdcmpgif
      714  gdlib-config
      715  gdlib-config  --libs
      716  gdlib-config  --revision
      717  gdlib-config --features
      718  yum install libXpm
      719  yum install libXpm-devel
      720  gdlib-config --features
      721  ls
      722  ./perl Makefile.PL 
      723  vim README
      724  perl ./Makefile.PL 
      725  perl ./Makefile.PL -h
      726  perl ./Makefile.PL 
      727  make
      728  make install
      729  gdlib-config 
      730  perl ./Makefile.PL  --help
      731  perl ./Makefile.PL  -h
      732  perl ./Makefile.PL ?
      733  perl ./Makefile.PL  --with-xpm=/usr/local/lib
      734  vim README
      735  cd ..
      736  ls
      737  cd libgd-2.1.0-rc2
      738  ls
      739  ./configure --with-xpm=/usr/lib
      740  make
      741  cd ..
      742  ls
      743  cd libgd-2.1.0-rc2
      744  make install
      745  cd ..
      746  cd GD-2.44
      747  perl ./Makefile.PL 
      748  make&&make install
      749  cd ..
      750  cd php-5.6.4
    
    
      751  ./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd=/usr/local/gd2/ --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
    
    
    
      752  find / |grep gd.h
      753  ./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-zlib --with-bz2 --with-freetype-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-gd --with-libxml-dir --with-png-dir --with-jpeg-dir=/usr/local/jpeg --enable-sockets --enable-gd-native-ttf --with-curl=/usr/local/curl --enable-bcmath --with-mcrypt --enable-fpm  --with-mysql --with-iconv --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 
    
      754  make
      755  make install
      756  php
      757  /usr/local/sbin/php-fpm -h
      758  /usr/local/php/sbin/php-fpm -h
      759  ls /usr/local/php/php/
      760  ls /usr/local/php/
      761  ls
      762  cp php.ini-development  /usr/local/php/php/php.ini
      763  ls /usr/local/php/php/
      764  find / -name php-fpm.conf.default
      765  cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf
      766  cp sapi/fpm/php-fpm /usr/local/bin/
      767  php-fpm start
      768  php-fpm
      769  vim /usr/local/php/php/php.ini 
      770  vim /usr/local/nginx/conf/nginx.conf
      771  /usr/local/nginx/ -s stop
      772  /usr/local/nginx/sbin/nginx -s stop
      773  /usr/local/nginx/sbin/nginx
      774  service mysqld start
      775  php-fpm
      776  cd /usr/local/nginx/html/
      777  ls
      778  vim index.php
      779  /usr/local/mysql/bin/mysql -uroot -p
      780  vim index.php 
      781  vim /usr/local/php/php/php.ini 
      782  /usr/local/nginx/sbin/nginx -s stop
      783  /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
      784  find /usr/ -name php-fpm.conf
      785  vim /usr/local/php/etc/php-fpm.conf
      786  pkill php-fpm
      787  /usr/local/bin/php-fpm 
      788  cat /etc/passwd |grep www
      789  vim /usr/local/php/etc/php-fpm.conf
      790  /usr/local/bin/php-fpm 
      791  pkill php-fpm
      792  /usr/local/bin/php-fpm 
      793  cat /etc/passwd
      794  groupadd nginx
      795  useradd -r -g nginx nginx
      796  vim /usr/local/php/etc/php-fpm.conf
      797  /usr/local/bin/php-fpm 
      798  vim /usr/local/php/etc/php-fpm.conf
      799  /usr/local/bin/php-fpm 
      800  /usr/local/nginx/sbin/nginx -s stop
      801  /usr/local/nginx/sbin/nginx
      802  ls
      803  cd ..
      804  ls -l
      805  chmod -R 777 ./html/
      806  ps -ef |grep php
      807  /usr/local/mysql/bin/mysql -hlocalhost -uroot -p
      808  ls
      809  vim html/index.php 
      810  /usr/local/mysql/bin/mysql -uroot -p -hlocalhost
      811  history
    安装中用过的所有命令:

    可能发生的错误:

    configure: error: Please reinstall the BZip2 distribution

    yum install bzip2 bzip2-devel

    yum install -y libmcrypt libmcrypt-devel

    configure:error: *** libmcrypt was not found

    为了的到mcrypt.so库文件,先后安装编译了mhash和libmcrypt, 但是到最后编译mcrypt时报错:

    configure: error: *** libmcrypt was not found

    [root@localhost] # export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    再次编译

    http://www.linuxidc.com/Linux/2009-03/18739.htm

    http://www.it165.net/os/html/201304/4868.html

     安装gd的时候,会报这个错误 “usr/local/src/php-5.5.6/ext/gd/gd.c:57:22: error: X11/xpm.h: No such file or directory make: *** [ext/gd/gd.lo] Error 1”

    yum install libXpm-dev libXpm

    在配置gd2的时候多加一条 --with-xpm=/usr/lib
    ./configure 的时候 会发现
    "Support for Xpm library : yes"这一项,说明配置成功。

    php支持 mysqli,pdo-mysql

    mysqlnd(专门为php写的),libmysqlclient(用c连接数据库用的,搞到php上来了)

    http://php.net/manual/en/ref.pdo-mysql.php

    nginx 发生permission deny

    去看看php-fpm的用户配置,nginx的用户配置

    当连接数据库的时候,我遇到这个问题了。后来发现,写127.0.0.1就可以连接,写localhost就不可以连接。mysql版本是 5.6.
    create user 'root'@'localhost'的时候也有问题。总之搞不懂。
    有人说和selinux有关。
    http://blog.sina.com.cn/s/blog_a0d5a7f10101dzbc.html

      

    lnmp环境的操作部分:

    安装php+nginx:http://www.cnblogs.com/simpman/p/4151662.html

    安装mysql:http://www.cnblogs.com/simpman/p/4192942.html

    安装php:http://www.cnblogs.com/simpman/p/4196051.html

    lnmp环境的理论部分:

    FastCgi与PHP-fpm关系[转] 读完本文瞬间明朗了很多 : http://www.cnblogs.com/simpman/p/4151639.html

    epoll和select区别:http://www.cnblogs.com/simpman/p/4150005.html

    扩展下载包:http://pan.baidu.com/s/1kTn7VQB

    pycurl版本低:http://www.fireinfo.cn/content-11-63668-1.html

  • 相关阅读:
    分解质因数算法
    js 的 Math 对象
    字符串操作
    简化求质数算法
    数值类型小数点后是否可以接零问题
    新博第一篇,思考的重要性与求质数算法
    一、制作屏幕录像
    四、同步线程
    常见问题
    jni数据处理
  • 原文地址:https://www.cnblogs.com/simpman/p/4196051.html
Copyright © 2011-2022 走看看