在nginx / php-fpm服务重新启动之前找不到Composer依赖项

时间:2016-08-18 21:56:35

标签: php nginx service dependencies composer-php

我有一个在nginx / php-fpm上运行的PHP应用程序。 在我的应用程序中,我依赖于使用composer管理的Sendgrid \ Email。

在我的开发机器上一切正常,编译器依赖项会自动加载。找到所有名称空间和类。

将我的应用程序上传到生产环境时,我有一段依赖于Sendgrid包的PHP代码,突然找不到编写器包(即使它在我的供应商目录中,我上传了所有内容) 1对1。

Nginx错误日志:

2016/08/18 17:40:32 [error] 1022#0: *488 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'SendGrid\Email' not found in <snip>/src/Email/Email.php on line 13" while reading response header from upstream, client: <snip>, server: <snip>, request: "POST /api/<snip> HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "<snip>"

现在奇怪的是,当我在我的生产机器上重新启动我的nginx和php-fpm服务时,突然发现了依赖,没有任何问题和我的代码执行。 我的生产机器有时会停止查找nginx依赖项,我必须重新启动这两项服务才能让它再次运行。 (可能只有1,但总是刚刚重新启动)

输出php -v:

user@productionbox:~$ php -v

PHP 5.5.9-1ubuntu4.19 (cli) (built: Jul 28 2016 19:31:33) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

0 个答案:

没有答案