我已经成功地使用自制软件安装了PHP-FPM。
我甚至已经将nginx.conf配置为可以工作。然而,每当我在航站楼里做的时候:
$: php-fpm
我得到错误:
[24-Jul-2013 19:58:34] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
[24-Jul-2013 19:58:34] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
[24-Jul-2013 19:58:34] ERROR: FPM initialization failed
然而,我的nginx运行良好。
这是根据运行Yii得到的nginx.conf。
server {
listen 80;
server_name campusplugin;
set $host_path "/var/www/campusplugin";
root $host_path;
set $yii_bootstrap "index.php";
charset utf-8;
#access_log logs/host.access.log main;
location / {
index index.html $yii_bootstrap;
try_files $uri $uri/ /$yii_bootstrap?$args;
}
location ~ ^/(protected|framework|themes/'w+/views) {
deny all;
}
#avoid processing of calls to unexisting static files by yii
location ~ '.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ '.php$ {
fastcgi_split_path_info ^(.+'.php)(.*)$;
#let yii catch the calls to unexising PHP files
set $fsn /$yii_bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
root /var/www/campusplugin;
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /'.ht {
deny all;
}
}
我也不能stop
的php fpm。我需要停止它,因为我已经稍微修改了php.ini。做这件事的方法是什么??
service php-fpm restart
-bash: service: command not found
我哪里错了?
即使当我输入:php-fpm -v
时,我也会得到:
php-fpm -v
PHP 5.3.15 (fpm-fcgi) (built: Aug 24 2012 17:45:59)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
然而,它显示的是旧的php-fpm,因为我已经安装了5.4。
我在设置时使用了此指南:https://web.archive.org/web/20161220083008/https://echo.co/blog/os-x-1010-限制本地开发环境-apache-php-and-mysql-homebrew
这个命令重新启动我的php fpm:
brew services restart php56
如果你没有酿造服务,试着这样安装:
brew tap homebrew/services
在更现代的版本中,只需进行
brew services start php
brew services stop php
brew services restart php
将启动、停止或重新启动php-fpm服务。
苹果表示:"SystemStarter实用程序已弃用。"
但我发现了另一个很棒的解决方案:
-
将其放入~/Library/LaunchDaemons/:https://github.com/tarnfeld/osx-stack/blob/master/LaunchDaemons/org.php-fpm.plist
-
根据您的路径更改此plist文件中的路径(例如,我的php-fpm可执行文件位于/usr/sbin而不是/usr/local/sbin)
-
将以下内容放入/usr/sbin/或/usr/local/sbin/中的新文件中
/#!/bin/sh
echo "Stopping php-fpm..."
launchctl unload -w /Users/<home-folder>/Library/LaunchDaemons/org.php-fpm.plist
echo "Starting php-fpm..."
launchctl load -w /Users/<home-folder>/Library/LaunchDaemons/org.php-fpm.plist
echo "php-fpm restarted"
exit 0
确保该目录在$PATH 中
现在您可以调用"php restart"来重新启动php fpm
(感谢另一篇文章)
如果你使用mac,你可以检查你的php fpm是否正在运行?
可以使用此命令:php fpm-t
现在,你可以看到问题了!以及如何通过中的此错误信息解决命令行!
我得到了:
方法如下:
1.要签出php-fpm,请使用:
php-fpm php54-fpm
2.要停止服务,我们必须使用苹果的SystemStarter,如下所示:
SystemStarter php54-fpm restart
在较新版本的Mac OS X(在13.X上测试)中,为了停止php-fpm守护进程并在登录或启动时取消注册,只需运行以下命令即可:
brew services stop php