当前位置: 首页 > news >正文

linux安装LNMP环境之安装PHP

下载插件包

yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel  epel-release libmcrypt-devel

下载

cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.6.32.tar.gz

解压

 tar zxvf php-5.6.32.tar.gz

预编译

cd php-5.6.32

创建php-fpm用户,并禁止登录;

useradd -s /sbin/nologin php-fpm
./configure --prefix=/usr/local/php --sysconfdir=/usr/local/php/etc --with-config-file-path=/usr/local/php/etc/    --with-fpm-user=php-fpm  --with-fpm-group=php-fpm  --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mhash  --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir  --with-png-dir --with-zlib --enable-mbstring --with-mcrypt --enable-sockets --with-iconv-dir   --enable-zip --with-pcre-dir --with-pear --enable-session  --enable-gd-native-ttf  --enable-xml --with-freetype-dir --enable-gd-jis-conv --enable-inline-optimization --enable-shared  --enable-bcmath --enable-sysvmsg --enable-sysvsem --enable-sysvshm  --enable-mbregex --enable-pcntl --with-xmlrpc --with-gettext --enable-exif --with-readline   --enable-ftp   --enable-redis

提示错误mcrypt.h没有找到,安装libmcrypt-devel包,默认的yum源,没有这个包,需要安装epel扩展源后,才可以安装。

[root@localhost php-5.6.32]# yum install -y epel-release

[root@localhost php-5.6.32]# yum install -y libmcrypt

[root@localhost php-5.6.32]# yum install -y libmcrypt-devel

再次执行./configure,没有错误提示,出现Thank you for using PHP,配置OK。

img_321da7030c29e775d6d85a0cdfada886.png
image.png

检查是否安装正确

make && make install 
echo $?

如果出现0 就说明正确了.

配置文件

需要将当前目录下的php.ini文件拷贝到 php的安装目录etc下

cp php.ini-production /usr/local/php/etc/php.ini

php.ini 文件是在包目录下的 php.ini-development(开发), php.ini-production(生产)
拷贝php启动脚本,php-fpm配置文件,更改php-fpm权限为755;添加php-fpm开机启动;

[root@ php-5.6.32]# cp /usr/local/src/php-5.6.32/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm 
(启动脚本)
[root@ php-5.6.32]# mv /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf  (就是去掉了末尾的.default )
[root@ php-5.6.32]# chmod 755 /etc/init.d/php-fpm 
[root@lphp-5.6.32]# chkconfig --add php-fpm 
[root@lphp-5.6.32]# service php-fpm start 
Starting php-fpm  done
[root@php-5.6.32]# chkconfig php-fpm on 

将php的安装目录也加入到系统的环境变量 在最后一行加入

vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile //重新加载

[root@localhost ~]# php -v
PHP 5.6.32 (cli) (built: Mar 12 2018 17:43:15)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies完成 接下来就是测试


vim /usr/local/nginx/conf/nginx.conf
   location / {
            root   /www/test;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$query_string;
            if (!-e $request_filename){  
              rewrite ^(.*)$ /index.php?s=$1 last;  break;
            } 
        }

将请求转给php的9000端口 确保nginx 和PHP都是运行的哈。

  location ~ \.php$ {
            root           /www/test;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

我的是根目录下的www/ 写个index.php 里面加入phpinfo(); 看能否成功。


img_95bcec50aa97dcd68f3cdaa287fe5a66.png
image.png

相关文章:

  • Graphviz的安装 - windows环境下
  • RSocket:一个面向反应式应用程序的新型应用网络协议
  • Spring Bean生命周期-registerBeanPostProcessors(七)
  • C#指定用户启动进程
  • ServletRequest和ServletResponse学习笔记
  • Ubuntu16.04 System program problem detected
  • MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
  • shell脚本中打印所有匹配某些关键字符的行或前后各N行
  • 数组遍历的方法(loop)
  • 18-10-11
  • clipboard.js无法复制粘贴
  • android SAF存储访问框架
  • Oracle SQL执行计划基线总结(SQL Plan Baseline)
  • php相关笔记
  • Scss 与 Sass 是什么,他们的区别在哪里?
  • 【前端学习】-粗谈选择器
  • create-react-app项目添加less配置
  • ESLint简单操作
  • PV统计优化设计
  • Vue--数据传输
  • yii2权限控制rbac之rule详细讲解
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 翻译:Hystrix - How To Use
  • 高度不固定时垂直居中
  • 将回调地狱按在地上摩擦的Promise
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 数据可视化之 Sankey 桑基图的实现
  • 算法-插入排序
  • 用mpvue开发微信小程序
  • 在Unity中实现一个简单的消息管理器
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • ​香农与信息论三大定律
  • #include<初见C语言之指针(5)>
  • $(selector).each()和$.each()的区别
  • ${ }的特别功能
  • (1)虚拟机的安装与使用,linux系统安装
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (黑马C++)L06 重载与继承
  • (一一四)第九章编程练习
  • (转)shell调试方法
  • ****Linux下Mysql的安装和配置
  • ***详解账号泄露:全球约1亿用户已泄露
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core控制台应用程序初识
  • .Net IOC框架入门之一 Unity
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting