因此,我在本地 drupal CMS 环境中工作,并且能够轻松导航并打开任何页面进行查看或编辑。但是当我尝试保存更改或删除页面时,我收到以下两个错误之一。
fatal error :第 145 行/Users/krice/projects/drupal/includes/database.mysql.inc 中允许的内存大小 536870912 字节已耗尽(尝试分配 76 字节)
fatal error :第 109 行/Users/krice/projects/drupal/includes/database.mysql.inc 超出了最大执行时间 60 秒
这是我的 my.cnf 文件和我的 php.ini 文件(如果我需要展示更多内容,这些部分很重要)
my.cnf
# The MySQL server
[mysqld]
port = 8889
socket = /Applications/MAMP/tmp/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 16M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
tmp_table_size=2G
max_heap_table_size=2G
php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 60 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 2048M ; Maximum amount of memory a script may consume (8MB)
如您所见,我尝试增加最大执行时间和内存限制,但仍然执行相同的操作,但现在它等待 60 秒,然后给出错误。
任何帮助将不胜感激,如果您需要更多信息,我可以提供,谢谢。
最佳答案
您必须找出哪个模块导致内存和时间消耗过多。
- 找出哪个函数耗尽了内存限制(即database.mysql.inc的第145行属于哪个函数)。
- 修改该函数,使其记录
debug_backtrace()
每当它被调用时。 - 找出哪个模块发起了最后一次调用。
关于PHP/mysql 内存错误 Drupal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942130/