开启左侧

网站建设实践之编译安装PHP

[复制链接]
webmaster 发表于 2018-12-30 23:07:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在Nginx中,我们使用的是php-fpm来对php页面解析,PHP-FPM其实是PHP源代码的一个补丁,指在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,再编译安装PHP后才可以使用
       从PHP5.3.3开始,PHP中直接整合了PHP-FPM,所以从PHP5.3.3版本以后,不需要下载PHP-FPM补丁包了,PHP5.3.3以前版本需另下载php-fpm补丁包.
1.解决依赖
pear按照一定的分类来管理pear应用代码库,你的pear代码可以组织到其中适当的目录中,其他人可以方便的检索并分享到你的成果;pear不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的php代码,将会增强你的程序的可读性,复用性,减少出错的几率;Pear通过两个类为你搭建了一个框架,实现了诸如析构函数,错误捕获功能,你通过继承就可以使用这些功能
[root@nginx ~]# yum install php-pear -y

2.PHP添加libmcrypt拓展
Libmcrypt加密算法扩展库,支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR,SERPENT, SAFER+等算法
[root@nginx~]# tar -zxf libmcrypt-2.5.7.tar.gz -C /usr/local/src && cd/usr/local/src/libmcrypt-2.5.7
[root@nginx ~]# ./configure--prefix=/usr/local/libmcrypt && make -j 4 && make install
除上面的依赖解决之外,还需要安装图片,xml,字体支持基本库,使用yum去安装,安装的时候,这些软件包自身也有依赖!
[root@nginx~]# yum install -y libxml2-devel libcurl-devel libjpeg-devel libpng-develfreetype freetype-devel

3.添加到库文件路径
需要添加到库文件路径
由于系统默认规定只在/lib、/lib64、/lib/lib64下面找库文件,所以我们需要手动添加进去。
[root@nginx ~]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf                          #此行原有
/usr/local/libmcrypt/lib                       #此行添加
/usr/local/mysql/lib                           #此行添加
[root@nginx ~]# ldconfig
[root@nginx ~]# echo 'ldconfig' >>/etc/rc.local

4.编译安装php
[root@nginx ~]# tar zxf php-5.6.31.tar.gz-C /usr/local/src;cd /usr/local/src/php-5.6.31
[root@nginx php-5.6.31]# ./configure--prefix=/usr/local/php --with-config-file-path=/usr/local/php--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl--enable-mbregex --enable-fpm --enable-mbstring --with-gd--enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl--enable-sockets --with-xmlrpc --enable-zip --enable-soap--with-mcrypt=/usr/local/libmcrypt
--with-config-file-path                         #设置 php.ini 的搜索路径。默认为 PREFIX/lib
--with-mysql                        #mysql安装目录,对mysql的支持
--with-mysqli                         #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。是一个数据库驱动
--with-iconv-dir                      #种字符集间的转换
--with-freetype-dir                  #打开对freetype字体库的支持
--with-jpeg-dir                      #打开对jpeg图片的支持
--with-png-dir                          #打开对png图片的支持
--with-zlib                        #打开zlib库的支持,实现GZIP压缩输出     
--with-libxml-dir=/usr                     #打开libxml2库的支持,libxml是一个用来解析XML文档的函数库
--enable-xml                        #支持xml文档
--disable-rpath                         #关闭额外的运行库文件
--enable-bcmath                      #打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop                       #shmop共享内存操作函数,可以与c/c++通讯
--enable-sysvsem  #加上上面shmop,这样就使得你的PHP系统可以处理相关的IPC函数(活动在内核级别)。
--enable-inline-optimization       #优化线程
--with-curl                            #打开curl浏览工具的支持
--with-curlwrappers                    #运用curl工具打开url流 ,新版PHP5.6已弃用
--enable-mbregex                    #支持多字节正则表达式
--enable-fpm                       #CGI方式安装的启动程序,PHP-FPM服务
--enable-mbstring                     #多字节,字符串的支持
--with-gd                        #打开gd库的支持,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
--enable-gd-native-ttf                    #支持TrueType字符串函数库
--with-openssl                          #打开ssl支持
--with-mhash                       #支持mhash算法扩展
--enable-pcntl                          #freeTDS需要用到的,pcntl扩展可以支持php的多线程操作
--enable-sockets                       #打开 sockets 支持
--with-xmlrpc                       #打开xml-rpc的c语言
--enable-zip                         #打开对zip的支持
--enable-soap                          #扩展库通过soap协议实现了客服端与服务器端的数据交互操作
--with-mcrypt                       #mcrypt算法扩展
[root@nginx php-5.6.13]# make -j 4&& make install

5.配置php和php-fpm
PHP配置文件:
[root@nginx ~]# cp /usr/local/src/php-5.6.31/php.ini-production/usr/local/php/php.ini
PHP-FPM配置文件:
[root@nginx ~]# cp/usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
修改 php-fpm.conf运行用户和组:
[root@nginx ~]#vim /usr/local/php/etc/php-fpm.conf
user = nginx
group = nginx
PHP-FPM启动脚本:
[root@nginx ~]# cp /usr/local/src/php-5.6.31/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
[root@nginx ~]# chmod +x/etc/init.d/php-fpm
[root@nginx ~]# chkconfig php-fpm on
[root@nginx ~]# service php-fpm start
Starting php-fpm  done
[root@nginx ~]# service php-fpm status
php-fpm (pid 22557) is running...

6.验证
验证80端口
[root@nginx ~]# netstat -anput|grep 80
tcp       0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      22591/nginx
验证php-fpm服务         
[root@nginx ~]# netstat -anput|grep 9000
tcp       0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      22557/php-fpm  
放行80端口
[root@nginx ~]# iptables -I INPUT -p tcp--dport 80 -j ACCEPT
[root@nginx ~]# echo "iptables -IINPUT -p tcp --dport 80 -j ACCEPT" >> /etc/rc.d/rc.local
加入测试页面
[root@nginx ~]# echo "" > /usr/local/nginx/html/index.php
http://192.168.2  (这里浏览器需要输入的是你的主机ip地址)
至此nginx基本配置完毕



Linux下使用mysqldump时候,出现:
mysqldump:unknown variable‘sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
解决思路:
/etc/my.cnf 中,把
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 删掉或者注释掉,发现问题解决了
前提:需要确定my.cnf的位置,即需要先mysql的相关配置文件的存放地址
1.      # service mysql  restart
2.      # service mysqld restart
重启mysql
linux一般在/etc/init.d有mysqld
/etc/init.d/mysqld start
开启3306



Navicat安装后出现错误:1045 - Access denied for user'root'@'localhost' (using password: YES
安装完MySQL和N之后,打开Navicat后出现如下错误:
**********1045 - Access denied for user 'root'@'localhost'(using password: YES)**********
(小插曲:记得不知道这是多少次安装MySQL了,以前用的是SQLyog,突然安装了一个Navicat,尽然出现错误,让自己小小的汗颜了一把!!!经过上网查资料,解决方法陈述下文)
【问题所在】:未给root用户分配所有权限。
【解决步骤】:例如:用户名:aaa     密码:123456
一、打开 MySQL 5.5 Command Line Client 命令窗口:
   Enter password:123456;
二、输入如下命令:grant all on *.* to aaa@'%' identified by '123456';
mysql>grant all on *.*to aaa@'%' identified by '123456'; (记得在此语句后面加上英文的     分号)
三、接着会出现:Query OK,0 rows affected <0.00 sec>   说明已经更改权限成功,问题解决了!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们

168590716

0771-8052075

service#gxgyq.com

9:00-17:00 (周一至周五)

广西灵山县三科电商创业园

关注我们
  • 关注官方微信

  • 浏览手机版

Copyright  ©  广西果友圈  All rights reserved.

手机版小黑屋 Discuz! X3.4 桂ICP备17012798号