MAC的PHP环境笔记

本文详细介绍了在Mac OS X 10.9系统中如何配置PHP-FPM,包括解决配置文件缺失、错误日志路径问题,以及如何处理Java版本冲突和homebrew/php迁移的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.nginx 日志文件

/opt/local/var/log/nginx/error.log access.log

2.nginx 启动

sudo nginx

sudo nginx -t 

sudo nginx -s reload

sudo nginx -s quit

3.Mac配置php-fpm

Mac OS X 10.9已经自带有php-fpm,对于有干净系统强迫症的人,或者原装控来说,用brewhome重装一遍总感觉心里会有小兔子,下面把原装的php-fpm配置起来。

直接运行,有报错找不到配置文件。

$ php-fpm

[11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)

[11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'

[11-Jan-2014 16:03:03] ERROR: FPM initialization failed

可以在/private/etc/ 目录下生成配置文件,需要root权限(sudo)

或者在普通用户有权限的目录里放置配置文件,通过--fpm-config参数指定配置文件的位置,如下:

# cp /private/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

$ php-fpm --fpm-config /usr/local/etc/php-fpm.conf

[11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

[11-Jan-2014 16:10:49] ERROR: failed to post process the configuration

[11-Jan-2014 16:10:49] ERROR: FPM initialization failed

错误信息显示:不能正确的打开”日志“文件,原因是默认在/usr/var目录下工作,可以修改配置文件指定正确的日志文件路径

$ vim /usr/local/etc/php-fpm.conf

修改php-fpm.conf文件中的error_log项,默认前缀是/usr/var ,但并没有这个路径

error_log = /usr/local/var/log/php-fpm.log

pid = /usr/local/var/run/php-fpm.pid

或者不修改配置文件中配置项的路径,在php-fpm的运行参数中(-p)指定放置运行时文件的相对路径前缀

$ php-fpm --fpm-config /usr/local/etc/php-fpm.conf --prefix /usr/local/var

到此,php-fpm守护进程已经基本可以正确的启动了。

4.MAC NetBeans8.2安装

鉴于Java10不支持netbeans8.2,如果误安装了Java10及上版本,请按照下面操作进行:

  1. 下载安装Java1.8版本并安装;
  1. 进入/Library/Java/JavaVirtualMachines/ 将高版本Java文件夹直接删除
  1. 检查Java版本 java -version 
  1. 未知风险,由于其他相关Java均为原Java 10及以上版本文件,因此会带来未知风险;

5.关于brew修改导致的安装失败

由于homebrew/php已经被整体迁移到,homebrew/core,因此原有的brew install phpxx-extenstion 需要做出以下更改。

brew tap kyslik/php
brew install phpXX-mongod
周一又是新的开始!所有事情都按照往常的节奏按部就班,有条不紊的进行着。首先是检查下各网站及应用系统是否正常,然后看看日志信息是否也有异样,一圈下来结果跟以前差一样没有其它问题。   今天唯独没有像往一样,上线之后并没打开系统监控(平时都是用SecureCRT登录系统之后,打开TOP命令让它一直在线,偶尔看下)。到了早上10点多快11点的时候,随手又点击了一下网站,这下出现的画面让我为之一醒(不是一惊)   所 实话这个介面还真不多见,但跟这个相似的就是前后端连接超时也会出现一个提示页面,但内容不太一样。这下我就急了,难道被人黑了?因为最近老有朋友说他的 网站被挂马了,所以我一个冲上来的念头就是被人黑了。连忙SSH登录后台看看,最后的登录IP也是自己的,这才稍有点放心,是自己紧张过头了。   稍作冷静之后,再结合提示页面的信息,应该是系统服务出了问题而非被入侵造成。于是就从检查日志、进程、端口等方面着手展开排查,很快就在php-fpm.log日志文件有所发现   突然似乎想到了什 么,要检查下PID文件,因为在Linux下记录某个进程是否运行是通过生成一个对应的PID文件,写入当前的进程号作标识的。真是喜出望外呀~这个 pid文件是空的,虽然有这个名称的文件,但里边没有内容。所以就解释了为什么启动服务就说已经运行,停止它的时候说失败了。几经检查,发现用来启动 php-fpm的脚本写得不严密,只是在启动的时候检查是否有pid文件存在而不管它是否有真实的PID内容,才造成了启动、停止都不正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值