文章目录
  1. 1. php程序报内存exhausted
    1. 1.1. 查看nginx的日志
    2. 1.2. 查看docker容器中的日志
    3. 1.3. 提取日志的关键信息
    4. 1.4. 分析问题
  2. 2. 解决问题

php程序报内存exhausted

今天在使用公司的固定资产系统导出数据时,在导出的过期中选择部分导出能成功的导出,选择全部就不能导出,程序报500的错误。

查看nginx的日志

1
10.8.14.17 - - [18/Jul/2017:09:43:18 +0800] "POST /reports/custom HTTP/1.1" 500 5097 "http://property.intra.ks.com/reports/custom" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

查看docker容器中的日志

1
[Tue Jul 18 01:43:18.182724 2017] [:error] [pid 37] [client 172.17.42.1:46109] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 196605 bytes) in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 301, referer: http://property.intra.ks.com/reports/custom

提取日志的关键信息

1
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 196605 bytes) in

分析问题

  1. php程序在缓存数据内存的存储空间不足;
  2. 可修改程序文件;
  3. 可修改php.ini配置文件,这里选择修改配置文件;

解决问题

修改php.ini配置文件,将配置的memory_limit的值调大,然后重启php程序或httpd程序在进行测试

文章目录
  1. 1. php程序报内存exhausted
    1. 1.1. 查看nginx的日志
    2. 1.2. 查看docker容器中的日志
    3. 1.3. 提取日志的关键信息
    4. 1.4. 分析问题
  2. 2. 解决问题