MacBook Pro 2014(Mac OS 10.13.3):apachectl未自动创建/var/run/mod_fcgid咨询
解决Mac OS 10.13.3上Apache mod_fcgid目录自动创建的问题
我之前也碰到过类似的SIP限制下的Apache配置问题,结合你的环境(MacBook Pro 2014 + 10.13.3),有两个靠谱的方案可以解决重启/唤醒后/var/run/mod_fcgid目录缺失的问题:
方案一:用LaunchDaemon实现启动+唤醒时自动创建目录
这个方案是最全面的,既能覆盖系统重启的场景,也能处理睡眠唤醒的情况,因为LaunchDaemon可以监听系统事件。
创建一个LaunchDaemon配置文件
打开终端,创建并编辑plist文件(注意替换yourname为你的用户名或自定义标识):sudo nano /Library/LaunchDaemons/com.yourname.modfcgid-fix.plist将以下内容粘贴进去:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.yourname.modfcgid-fix</string> <key>ProgramArguments</key> <array> <string>/bin/sh</string> <string>-c</string> <string>mkdir -p /var/run/mod_fcgid && chown _www:_www /var/run/mod_fcgid && chmod 755 /var/run/mod_fcgid</string> </array> <key>RunAtLoad</key> <true/> <key>LaunchEvents</key> <dict> <key>com.apple.system.wake</key> <dict> <key>Enabled</key> <true/> </dict> </dict> <key>WatchPaths</key> <array> <string>/var/run</string> </array> </dict> </plist>设置文件权限并加载配置
执行以下命令确保配置文件的权限符合LaunchDaemon要求:sudo chown root:wheel /Library/LaunchDaemons/com.yourname.modfcgid-fix.plist sudo chmod 644 /Library/LaunchDaemons/com.yourname.modfcgid-fix.plist然后加载这个配置:
sudo launchctl load /Library/LaunchDaemons/com.yourname.modfcgid-fix.plist之后每次系统启动、唤醒,或者
/var/run目录有变动时,这个脚本都会自动创建并配置好mod_fcgid需要的目录。
方案二:启用/etc/rc.local处理系统启动场景
如果你只需要覆盖系统重启的情况,不需要处理睡眠唤醒,可以用rc.local:
创建并编辑/etc/rc.local
sudo nano /etc/rc.local粘贴以下内容:
#!/bin/sh mkdir -p /var/run/mod_fcgid chown _www:_www /var/run/mod_fcgid chmod 755 /var/run/mod_fcgid exit 0赋予可执行权限
sudo chmod +x /etc/rc.local这样系统启动时会自动执行这个脚本创建目录,但睡眠唤醒时不会触发,所以如果唤醒后目录丢失的话,这个方案就不适用了。
验证方法
重启系统或让电脑睡眠再唤醒后,执行以下命令检查目录状态:
ls -ld /var/run/mod_fcgid
如果输出显示所有者是_www:_www,权限是drwxr-xr-x,就说明配置成功了。
内容的提问来源于stack exchange,提问作者gone
相关产品推荐
相关产品推荐

