TYPO3中的索引solrfal时的内存限制

时间:2017-08-15 12:07:33

标签: php solr typo3

我使用TYPO3 7.6和solr 6.1.3以及solrfal 4.1.0。不,我每次尝试运行solrfal调度程序任务时都会收到PHP内存限制错误。他仍然占57%。我调试并删除了他试图索引的最后一个文件。但是下一个文件也会抛出错误。

我收到了错误:

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 464255211 bytes) in /var/www/web1/htdocs/leipzig.ihk.de/typo3conf/ext/solr/Classes/ExtractingQuery.php on line 104

在此行上file_get_contents()会抛出错误。该文件只有90KB。有人有想法吗?

5 个答案:

答案 0 :(得分:0)

我建议不要上传这么大的文件。

答案 1 :(得分:0)

我会检查以减少每次运行的项目数,或者增加内存限制。

答案 2 :(得分:0)

您需要在memory_limit文件中增加php.ini

答案 3 :(得分:0)

得到错误。在第154行的/typo3conf/ext/solrfal/Classes/Queue/ItemRepository.php中,第一个“merged_id”为空。然而,这发生了。我在if语句中包装了行,而不是再次使用

RUN /bin/bash -c "/usr/bin/mysqld_safe &" && \
  sleep 5 && \
  mysql -u root -e "CREATE DATABASE mydb" && \
  mysql -u root mydb < /root/init.sql

另一个解决方案是添加merge_id&gt; 0到where语句。

答案 4 :(得分:0)

之前提出的解决方案无法解决问题。对我来说,这似乎是,merge_id没有在数据库中设置,因此所有项目都将被合并。

通过defaut,merge_id具有以下格式:

'类型/ fileUid / languageUid / rootPageId'

如果文件索引队列中有没有merge_id的项目,则应清除文件索引队列并重新填充。