Default php 7.4 configuration from XAMMP,
389597 rows in #_finder_terms
(127.9 MB on disk)
php cli\joomla.php -vvv --table=jos37_finder_terms database:export
Exporting Database
==================
Processing the jos37_finder_terms table
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 67108872 bytes) in C:\xampp\htdocs\libraries\vendor\joomla\database\src\DatabaseExporter.php on line 299
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 67108872 bytes) in C:\xampp\htdocs\libraries\vendor\joomla\database\src\DatabaseExporter.php on line 299
Symfony\Component\ErrorHandler\Error\OutOfMemoryError^ {#390689
-error: array:4 [
"type" => 1
"message" => "Allowed memory size of 536870912 bytes exhausted (tried to allocate 67108872 bytes)"
"file" => "C:\xampp\htdocs\libraries\vendor\joomla\database\src\DatabaseExporter.php"
"line" => 299
]
#message: "Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 67108872 bytes)"
#code: 0
#file: "C:\xampp\htdocs\libraries\vendor\joomla\database\src\DatabaseExporter.php"
#line: 299
}
I know, that I can reconfigure server, but I think we should find a solution that requires less memory.
Labels |
Added:
?
|
Labels |
Added:
No Code Attached Yet
bug
Removed: ? |
So the solution to this issue would be to stagger reading and writing the data from the table during export. Limit the number of rows to read, then write them to a file resource, read the next batch and write it again until done. This is a bigger refactoring and I'm unsure if our Filesystem package properly supports this.
I've opened an issue on the database repo: joomla-framework/database#287