On Mar 10, 2006, at 1:57 AM, Rasmus Lerdorf wrote:

Rasmus Lerdorf wrote:
Andi Gutmans wrote:
Are you sure VCWD_REALPATH doesn't use the realpath cache? It did last time I checked and I think is still the right method to use there...
quite
#define VCWD_REALPATH(path, real_path) realpath(path, real_path)

By the way, I agree that expand_filepath() is not the right fix here since the first thing it does is a getcwd. We have just done a chdir and haven't executed any script yet so we know the cwd. Feed that directly to virtual_file_ex() there perhaps? I haven't really dug into it.

Were you seeing two getcwd calls? I can remove one, but I don't see away around the second one. I changed to virtual_realpath which does remove the getcwd in php_execute_script function, but it seems that is shows up a little later when it uses the stream open which called expand_filepath:

#0  0x203ab410 in __getcwd () from /usr/lib/libc.so.4
#1  0x203b2ab6 in getcwd () from /usr/lib/libc.so.4
#2 0x2060de86 in expand_filepath (filepath=0x2cbc08 "<path>/ bench_main.php", real_path=0x0)
    at main/fopen_wrappers.c:521
#3 0x2061c1bd in _php_stream_fopen (filename=0x2cbc08 "<path>/ bench_main.php", mode=0x206f1fe3 "rb",
    opened_path=0x9fbff7cc, options=133)
    at /main/streams/plain_wrapper.c:855
#4 0x2061c974 in _php_stream_fopen_with_path (filename=0x2cbc08 "<path>/bench_main.php", mode=0x206f1fe3 "rb", path=0x12b640 ".:/<path>/pear", opened_path=0x9fbff7cc, options=133)
    at /main/streams/plain_wrapper.c:1238
#5 0x2061c338 in php_plain_files_stream_opener (wrapper=0x2077c008, path=0x2cbc08 "<path>/bench_main.php", mode=0x206f1fe3 "rb", options=133, opened_path=0x9fbff7cc, context=0x0)
    at/main/streams/plain_wrapper.c:931
#6 0x2061962e in _php_stream_open_wrapper_ex (path=0x2cbc08 "<path>bench_main.php", mode=0x206f1fe3 "rb", options=141, opened_path=0x9fbff7cc, context=0x0)
    at main/streams/streams.c:1771
#7 0x2060943b in php_stream_open_for_zend (filename=0x2cbc08 "<path>/ bench_main.php",
    handle=0x9fbff7c4) at main/main.c:901
#8 0x2064a866 in zend_stream_open (filename=0x2cbc08 "<path>/ bench_main.php",
    handle=0x9fbff7c4) at Zend/zend_stream.c:47
#9 0x2064a8dc in zend_stream_fixup (file_handle=0x9fbff7c4) at Zend/ zend_stream.c:62 #10 0x20623ee7 in open_file_for_scanning (file_handle=0x9fbff7c4) at Zend/zend_language_scanner.c:2982 #11 0x20623fce in compile_file (file_handle=0x9fbff7c4, type=2) at Zend/zend_language_scanner.c:3068 #12 0x2063cd1c in zend_execute_scripts (type=8, retval=0x0, file_count=3) at Zend/zend.c:1093 #13 0x2060a653 in php_execute_script (primary_file=0x9fbff7c4) at main/main.c:1724

Brian

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to