Zoom Search Engine FAQ - Troubleshooting PHP

Q. "Fatal error: Allowed memory size of 8388608 bytes exhausted..." or similar error message

This is due to the memory limits set on your web server for PHP scripts being too low. You can fix this by editing the PHP config file for your webserver (php.ini), as follows:

Change from (default limits can be 8M or 16M in older versions of PHP),
memory_limit = 8M to,
memory_limit = 64M

Alternatively, if you do not have access to your web server's global PHP settings, you can add the following lines to the .htaccess file located in the same directory as your PHP search files. You might have to create this file with a text editor if it doesn't already exist.

<FilesMatch "\.(php|html?)$">
php_value memory_limit 64000000
</FilesMatch>

This might not work on all servers either (it depends on what has been allowed by your hosting company). Refer to your web host or PHP Users Guide for more information.

There is also a 3rd alternative, if neither of the above two options work. Edit the search.php script and add the following PHP code to the search.php script on the 2nd line (just after the first " <?php" line).

ini_set ( "memory_limit", "64M");

Note: For some very large sites, the above memory limit of 64 MB may still not be enough. Increase this value as appropriate if you continue to get a similar error message. Newer versions of PHP have a default memory limit of 128 MB. You may also want to consider using the CGI version for better performance on large sites.

Q. "Warning: Cannot modify header information - headers already sent..." or similar error message

This is most likely because you are embedding the search script within your own PHP page (as described in this FAQ), or you have modified the search script by adding HTML or PHP code.

This error is due to the search script attempting to specify a HTTP header with an explicit Content-Type to ensure that the correct charset is used for your search page. However, if you have HTML sent before the start of the search script, then this will not work as a HTTP header would have already been sent.

You can prevent this problem by selecting the "Disable charset enforcing on search script" option (under the "Advanced" tab of the Indexer Configuration window). This will stop the search script from sending out the redundant HTTP header.

Q. "Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION..." or similar error message

This is most likely because you have the old PHP 4 release installed on your server. PHP 4.0 was released in 1999 and discontinued in 2007. PHP5 has been available since 2003.

Zoom V6 only supports PHP5.0 and above.

If you really must continue with PHP4, then consider using the old V5 release of Zoom.

In some cases, a few hosting companies provide both PHP4 and PHP5. And you can rename the search.php file to search.php5 to get PHP5 to execute the file. In other cases you can add entries to the .htaccess file to make PHP5 the default version. But you should check with your hosting company if PHP5 is available if you see this error.

Return to the Zoom Search Engine Support page