我使用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。有人有想法吗?
答案 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的项目,则应清除文件索引队列并重新填充。