auto_prepend_file不适用于ajax文件?

I was trying to solve problems I've had with global functions and variables by adding them to a file which would be automatically pre-pended.

It works for "normal" pages, like say search.php, but as soon as I do an ajax call, I get this error:

<br /> <b>Warning</b>: Unknown: failed to open stream: No such file or directory in <b>Unknown</b> on line <b>0</b><br /> <br /> <b>Fatal error</b>: Unknown: Failed opening required '../../htdocs/mosaic/include/alpha.php' (include_path='.:/opt/lampp/lib/php') in <b>Unknown</b> on line <b>0</b><br />

The ajax file is stored in htdocs/mosaic/ajax

Any idea why? Thank you

(Running XAMPP on ubuntu 16.04)

You're probably auto-including a file from two different files in different levels of directories:

 mosaic/include/alpha.php
 mosaic/whatever
 mosaic/ajax/file.php

The "../../" specification works from a file in "mosaic", but not from a file in any directory under it. Either use absolute file specifications (e.g. '/var/www/site/htdocs/mosaic/include') or fix your include_path and just use 'alpha.php' in your includes.