Hello,
I am in the process of writing an XML analyzer.
In order to build the tree structure I intensivly rely on recursivity.
The depths are not excessive. With no more than 10 recursive calls
emboities.
But it has as many calls as of XML nodes.
Each level of recursivity waiting for termination contains a character
string of a few tens of characters.
My larger files do not exceed 100 KB. In an unforeseeable way, on
certain analyzed files, I get the message 'CGI Error' without any
other indication.
It is enough that I remove an even empty node as < a></a > so that my
programs give the anticipated result.
If I replace this node by a chain of several hundreds of characters,
all well also occurs.
Finally if I execute my programs within my provider environment
(free.fr, same PHP level, linux machine) with the same set of files,
in a situation even more constrained in memory than on my local
computer, I do not have strictly any problems.
Finally my questions:
.. how Php does manage its function calls, which is the incompressible
memory size consumed with each recursive call?
.. Why does I obtain no error message on behalf of PHP (stack overfow
or other...)
.. how can I play with size parameters (stack, memory ...). I set
memory_limit to 50M without any positive results. With 5M at my
provider it goes perfectly.
.. how can I trace this problem. I am certain that all my recursions
finish correctly. I would like to avoid to recompile PHP under Windows
with debug mode set.
.. Is PHP under Windows XP known as being fragile?
I am in a great trouble, deadlines to be respected and this @!!¤#!!
system which aborts.
Thank you to have read me until the end.
Best regards,
Claude Animo
Claude dot Animo @ free dot fr