上線的項目數據量很大,php突然給報了這麼一個錯,“ Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) ” 原來是因爲php使用的內存超出了系統對其設置的允許最大內存。
檢查php內存限制值
在php文件中輸入
<?php
phpinfo();
?>
然後瀏覽器訪問下這個文件,你就會看到關於php版本的信息,其中 memory_limit 就是你現在設置的內存值,如下圖:
修改 php.ini 中 memory_limit 腳本運行最大消耗的內存 的值就好。
PHP其他大小限制:
文件 php.ini
max_execution_time = 30 每個腳本運行的最長時間 單位 s 。0 沒有限制。
max_input_time = 60 每個腳本可以消耗的時間 單位 s
post_max_size = 8M 表單(post方式)提交的最大字節長度 , 是針對整個表單的提交數據進行限制( 例如提交的標題等 )
upload_max_filesize = 2M 上傳文件的最大許可大小
upload_tmp_dir 上傳文件放置的臨時目錄 , 未指定則使用系統默認位置。
注意:
1、需要保證 post_max_size >= upload_max_filesize
2、如果啓動了內存限制 , 那麼 上傳文件的大小會受到內存的影響。一般 memory_limit > post_max_size