执行php遇到 Allowed memory size of 134217728 bytes exhausted 最大内存为128k,超出
解决方法:php.ini 找到 memory_limit = 128M 修改大一点
或在开头加入 ini_set(‘memory_limit’,’2048M’); // 临时设置最大内存占用为2G
set_time_limit(600); // 设置脚本最大执行时间 为0 永不过期
nginx 出现504 Gateway Time-out的解决方法: 飞机直达
问题分析
nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时
解决方法
nginx配置
nginx.conf中,设置以下几个参数,增加超时时间
fastcgi_connect_timeout
fastcgi连接超时时间,默认60秒
fastcgi_send_timeout
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒
fastcgi_read_timeout
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒
php配置
php.ini
max_execution_time
php脚本最大执行时间
php-fpm
request_terminate_timeout
设置单个请求的超时时间
php程序中可加入set_time_limit(seconds)设置最长执行时间
例如 set_time_limit(0) 表示不超时。