Nginx PHP 7 安装日志

Ghaker · 2019年11月28日 · 最后由 Ghaker 回复于 2020年02月04日 · 3883 次阅读

前奏,安装 gcc 5 以上,我安装了 8

  1. 请看这个链接 https://www.cnblogs.com/ToBeExpert/p/10297697.html ,文章的最后是高潮
  2. 这么说吧我编译 gcc8 用了 5-6 个小时,配置,windows2012 的 vmware,cpu2x2,显示 4,内存 2G 有需要虚拟机的可以找我要
  3. 虚拟机的问题,死活连不上网,这个可能和 dhcp 有关系,桥接然后静态 ip,解决问题,这个花了一天的时间,如果要深入理解桥接和 nat,估计只有学思科或者华为认证了

过程连接

  1. scl 安装 gcc-把 4 改成 8
  2. CentOS 7 升级 gcc/g++ 编译器,我的是 centos6
  3. 编译 nginx 的时候报错 需要安装 PCRE2019年11月28日09:24:16
  4. pcre 是一个正则表达式库
  5. nginx 的下载和配置
  6. php+nginx mysql 那块没有借鉴
  7. linux 安装 php7.2.7

补上非 root php

  1. 前奏 我把 nginx 和 php 都放在环境变量里面了,php 启动的话就是 php-fpm
  2. 补能让 php 文件都用 root 权限上传吧!
  3. 学习,linux 用户和组,自己创建
  4. php-fpm 的关闭,我是查找进程一个个关闭的,大概有 3-4 个进程,网上的看不懂

重点

  1. Nginx 访问 PHP 文件的 File not found 错误处理,两种情况
  2. 我花了一点时间搞定的编辑 etc/php-fpm.d/www.conf 文件 查找 user 和 group,之前已经说过了,你懂的
  3. 默认查找 php-fpm 的进程是有 nobody 的,改完了之后就是你想要的
  4. 过程连接中有提到 nginx 和 php 关联 把路径改了,最后一个不要加斜杠!!!记住喽,
  5. 配置更改 fastcgi_param SCRIPT_FILENAME /home/yournname/work/php/www$fastcgi_script_name

结尾,准备装禅道,不知道 mysql 驱动装好没有,接下来会写步骤

xdebug 很重要,不知道能否成功

这个是发错社区了?

我想應該是發錯社區了!

@luoyou @charlie_hsieh 什么意思?算是 nginx 吧

我不想显得自己粗暴无礼,但是这帖子整个说得都是什么东西啊。

CentOS 6 根本就不支持 PHP 7,换句话说如果你要用 Redhat 官方的源,就去装 CentOS 8,如果要用 CentOS 6,就得用第三方源。

那么第三方源很麻烦吗?不。Remi 源早就有全套 PHP 7.3.12 了(之前版本的也都有),要安装只需要按照教程加上源然后 yum 就完成了。

同理,Nginx 官方源也早就有最新的稳定版 1.14.2 了。

全部装一遍,我觉得,半小时足够了吧?

Linux 上永远也不要 make install 编译安装(除非是用完就扔的)。总是使用 Linux 自带的包管理工具来安装软件。你从源代码编译,就只是得到了一个没有经过测试、没有技术支持、没有任何安全团队保护的软件。如果是为了节省时间而牺牲一些性能,那也就算了。可你这也没节省时间啊……

@msg7086 其實也不能這麼說,現在,還有人願意花時間折騰 源碼編譯 應該是好事。你想想如果 Aaron 也不願意看 C 源碼 這類底層機制, ruby 3x3 就失去期待了。 當然如果要賺錢養家,真的不能浪費時間! 我想他會想源碼編譯在 CentOS6 應該是不想面對 systemd。我是都使用 yum webtatic repo 就是了,雖然沒有 remi 新。

@Ghaker 因為怎麼樣看到 php 安裝教程分享,在 Ruby china 總覺得怪怪的… 沒有惡意。 還是很佩服…

charlie_hsieh 回复

我想说的是,就算要编译,也应该用包管理支持的方式进行编译。比如我维护 Debian 上的 nginx 的时候,是用 dpkg 打包成 deb,虽然过程也是要编译,但最终是由包管理来解决版本追踪问题。

msg7086 回复

認同,但是,我 ruby 版本管理,倒是全仰賴 rvm + gemset。不使用 deb or rpm。 感覺比較方便。

php 多版本怎么搞?

xiaox 回复

phpenv 之類的,但是,沒有比 rvm 實用。

charlie_hsieh 回复

我 ubuntu 开发 phpenv 用不上

charlie_hsieh 回复

rvm 也是可以的,也算是一种软件包管理软件。最怕的是裸复制文件的那种。

msg7086 回复

我怎么知道有 remi 这种东西

msg7086 回复

CentOS 6 根本就不支持 PHP 7 这个我也不知道,不知道的东西多了去了

ermmm 我总不能说我是搜索搜出来的吧……

msg7086 回复

66666

大多数公司都是 lnmp 一键包,还有不少更懒的直接用宝塔了,不知道有啥需求非要纯手工编译。

虽然我也搞过纯手工编译,第一次花了我 8 个小时。。。现在想想,只是个经历而已。实际工作 CentOS 都不想用了,更喜欢一路 apt-get 到底

canonpd 回复

有道理,只怪自己笨

canonpd 回复

我不是专业的 php 程序员,当时也忘了什么需求导致要用 PHP 的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册