我正在尝试在Debian 8服务器上安装symfony 3.4项目。我正在使用Nginx作为Web服务器。
我的配置服务器:
composer安装正常(composer更新也是如此)。 我在同一台服务器上也有一个倾斜的前端。一切正常(npm install,ng build等)。
但是当我请求API的任何路由时,都会收到代码500的错误。我什至无法获得分析器。
在nginx的日志文件中,我可以看到此错误消息log message,但是我配置了php memory_limit = -1。
我的nginx conf文件:
server {
listen 80;
server_name my_server_name;
root location/of/my/front;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
}
server {
server_name my_server_name_api;
root location/of/my/api/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
你有什么主意吗? 谢谢
答案 0 :(得分:0)
此错误可能是由于您的PHP.ini设置文件的内存限制较低,PHP可以设置允许使用的内存限制,通常它不是动态设置的,这意味着需要您对其进行更改达到您要使用的值。
要执行此操作,请找到php.ini文件,并在其上找到带有memory_limit
的行,然后将其更改为:
memory_limit = -1
这将允许PHP尽可能多地使用ram,这在某些情况下并不理想,并且通常您会发现大多数网站只需要大约1gb的内存即可运行,因此请尝试:
memory_limit = 1024
相反,如果您不打算使用它,则可以查看其他方法,例如在Symfony中禁用探查器,因为它是Symfony中最渴望的组件。为此,请将此代码段添加到您的代码中,它将在您要禁用探查器的位置:
if ($this->container->has('profiler')){
$this->container->get('profiler')->disable();
}
或者如果要禁用全局设置,可以在配置中设置全局参数。
framework:
profiler:
collect: false
您还可以通过将memory_limit
放入主.php文件中来通过PHP设置ini_set('memory_limit', '-1');
。