Vagrant: PHP7.0-fpm.service 失败,因为控制进程以错误代码退出
Vagrant: PHP7.0-fpm.service failed because the control process exited with error code
我有一个新的 ubuntu/xenial64 基于盒子的 Vagrant 安装。不幸的是 PHP7.0 服务不 运行ning
如果我 运行 执行以下 systemctl status php7.0-fpm.service
命令,结果将是:
ubuntu@Project-Yii-Shop:~$ systemctl status php7.0-fpm.service
* php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2017-01-29 14:37:05 UTC; 16min ago
Process: 2213 ExecStart=/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf (code=exited, s
Process: 2203 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
Main PID: 2213 (code=exited, status=78)
Jan 29 14:37:04 Project-Yii-Shop systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager.
Jan 29 14:37:04 Project-Yii-Shop systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Jan 29 14:37:05 Project-Yii-Shop php-fpm7.0[2213]: [29-Jan-2017 14:37:05] ERROR: [pool www] cannot get uid for user 'va
Jan 29 14:37:05 Project-Yii-Shop php-fpm7.0[2213]: [29-Jan-2017 14:37:05] ERROR: FPM initialization failed
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Main process exited, code=exited, status=78/n/a
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: Failed to start The PHP 7.0 FastCGI Process Manager.
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Unit entered failed state.
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Failed with result 'exit-code'.
主要问题是我尝试启用此服务,但 Vagrant Ubuntu 要求输入密码,好吧,Vagrant 中的这个 Ubuntu 没有任何密码。我用谷歌搜索了这个问题,但我只看到了这个解决方案和上面的解决方案。
ubuntu@Project-Yii-Shop:~$ systemctl enable php-fpm.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ===
Authentication is required to manage system service or unit files.
Authenticating as: Ubuntu (ubuntu)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to execute operation: Access denied
所以我不知道我应该做什么,因为如果我在真正的 Ubuntu 服务器上安装 PHP7.0(不是在 Vagrant 中),我不会得到这个错误。
我使用具有以下配置的 NGINX 服务器:
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
try_files $uri =404;
}
我在Vagrant文件中使用这个命令来安装PHP7.0
apt-get install -y git nginx php7.0-curl php7.0-cli php7.0-intl php7.0-mbstring php7.0-gd php-imagick php7.0-fpm php7.0-mysql php7.0-pgsql php7.0-xml php7.0-zip
并且在 Vagrant 启动后这个命令 运行 是为了 运行 php7.0 srevice.
service php7.0-fpm restart
有人看错了吗?
查看您的 php-fpm 池定义 (www.conf
?),它可以在 /etc/php/7.0/fpm/pool.d
中找到。似乎您正在尝试以用户 "vagrant" 的身份启动 php-fpm 进程 - 一个似乎不存在于框中的用户。
通常用户www-data
习惯运行 php-fpm:
user = www-data
group = www-data
我有一个新的 ubuntu/xenial64 基于盒子的 Vagrant 安装。不幸的是 PHP7.0 服务不 运行ning
如果我 运行 执行以下 systemctl status php7.0-fpm.service
命令,结果将是:
ubuntu@Project-Yii-Shop:~$ systemctl status php7.0-fpm.service
* php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2017-01-29 14:37:05 UTC; 16min ago
Process: 2213 ExecStart=/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf (code=exited, s
Process: 2203 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
Main PID: 2213 (code=exited, status=78)
Jan 29 14:37:04 Project-Yii-Shop systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager.
Jan 29 14:37:04 Project-Yii-Shop systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Jan 29 14:37:05 Project-Yii-Shop php-fpm7.0[2213]: [29-Jan-2017 14:37:05] ERROR: [pool www] cannot get uid for user 'va
Jan 29 14:37:05 Project-Yii-Shop php-fpm7.0[2213]: [29-Jan-2017 14:37:05] ERROR: FPM initialization failed
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Main process exited, code=exited, status=78/n/a
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: Failed to start The PHP 7.0 FastCGI Process Manager.
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Unit entered failed state.
Jan 29 14:37:05 Project-Yii-Shop systemd[1]: php7.0-fpm.service: Failed with result 'exit-code'.
主要问题是我尝试启用此服务,但 Vagrant Ubuntu 要求输入密码,好吧,Vagrant 中的这个 Ubuntu 没有任何密码。我用谷歌搜索了这个问题,但我只看到了这个解决方案和上面的解决方案。
ubuntu@Project-Yii-Shop:~$ systemctl enable php-fpm.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ===
Authentication is required to manage system service or unit files.
Authenticating as: Ubuntu (ubuntu)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to execute operation: Access denied
所以我不知道我应该做什么,因为如果我在真正的 Ubuntu 服务器上安装 PHP7.0(不是在 Vagrant 中),我不会得到这个错误。
我使用具有以下配置的 NGINX 服务器:
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
try_files $uri =404;
}
我在Vagrant文件中使用这个命令来安装PHP7.0
apt-get install -y git nginx php7.0-curl php7.0-cli php7.0-intl php7.0-mbstring php7.0-gd php-imagick php7.0-fpm php7.0-mysql php7.0-pgsql php7.0-xml php7.0-zip
并且在 Vagrant 启动后这个命令 运行 是为了 运行 php7.0 srevice.
service php7.0-fpm restart
有人看错了吗?
查看您的 php-fpm 池定义 (www.conf
?),它可以在 /etc/php/7.0/fpm/pool.d
中找到。似乎您正在尝试以用户 "vagrant" 的身份启动 php-fpm 进程 - 一个似乎不存在于框中的用户。
通常用户www-data
习惯运行 php-fpm:
user = www-data
group = www-data