Essentialy the same thing is done in zend engine with zend_error_cb, and
this is nothing fancy, but the one thing I can think of might be the 3rd
line I added in php_variables.c.  Maybe this needs to happen within one
of the startup functions instead.  If you can try that, that would be
cool, I do not have access to a linux platform at home to try with.
Shane

Yasuo Ohgaki wrote:
> I get segfault with this patch during "make install"...
> 
> # It seems failed to send previous mail...
> # Sorry, if you get 2 mails
> 
> --
> Yasuo Ohgaki
> 
> 
> Shane Caraveo wrote:
> 
>>shane         Sun Oct 13 04:38:09 2002 EDT
>>
>>  Modified files:              
>>    /php4/main        php_variables.c php_variables.h 
>>  Log:
>>  make php_import_environment_variables overwritable so fastcgi can correctly
>>  set $_ENV.
>>  
>>  
>>  
>>Index: php4/main/php_variables.c
>>diff -u php4/main/php_variables.c:1.44 php4/main/php_variables.c:1.45
>>--- php4/main/php_variables.c:1.44    Sat Sep  7 20:27:05 2002
>>+++ php4/main/php_variables.c Sun Oct 13 04:38:09 2002
>>@@ -16,7 +16,7 @@
>>    |          Zeev Suraski <[EMAIL PROTECTED]>                                |
>>    +----------------------------------------------------------------------+
>>  */
>>-/* $Id: php_variables.c,v 1.44 2002/09/08 00:27:05 yohgaki Exp $ */
>>+/* $Id: php_variables.c,v 1.45 2002/10/13 08:38:09 shane Exp $ */
>> 
>> #include <stdio.h>
>> #include "php.h"
>>@@ -28,6 +28,9 @@
>> 
>> #include "zend_globals.h"
>> 
>>+/* for systems that need to override reading of environment variables */
>>+void _php_import_environment_variables(zval *array_ptr TSRMLS_DC);
>>+PHPAPI void (*php_import_environment_variables)(zval *array_ptr TSRMLS_DC) = 
>_php_import_environment_variables;
>> 
>> PHPAPI void php_register_variable(char *var, char *strval, zval *track_vars_array 
>TSRMLS_DC)
>> {
>>@@ -318,8 +321,7 @@
>>      }
>> }
>> 
>>-
>>-void php_import_environment_variables(zval *array_ptr TSRMLS_DC)
>>+void _php_import_environment_variables(zval *array_ptr TSRMLS_DC)
>> {
>>      char **env, *p, *t;
>> 
>>Index: php4/main/php_variables.h
>>diff -u php4/main/php_variables.h:1.13 php4/main/php_variables.h:1.14
>>--- php4/main/php_variables.h:1.13    Tue Dec 11 10:31:05 2001
>>+++ php4/main/php_variables.h Sun Oct 13 04:38:09 2002
>>@@ -17,7 +17,7 @@
>>    +----------------------------------------------------------------------+
>> */
>> 
>>-/* $Id: php_variables.h,v 1.13 2001/12/11 15:31:05 sebastian Exp $ */
>>+/* $Id: php_variables.h,v 1.14 2002/10/13 08:38:09 shane Exp $ */
>> 
>> #ifndef PHP_VARIABLES_H
>> #define PHP_VARIABLES_H
>>@@ -31,7 +31,7 @@
>> #define PARSE_STRING 3
>> 
>> void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC);
>>-PHPAPI void php_import_environment_variables(zval *array_ptr TSRMLS_DC);
>>+extern PHPAPI void (*php_import_environment_variables)(zval *array_ptr TSRMLS_DC);
>> PHPAPI void php_register_variable(char *var, char *val, pval *track_vars_array 
>TSRMLS_DC);
>> /* binary-safe version */
>> PHPAPI void php_register_variable_safe(char *var, char *val, int val_len, pval 
>*track_vars_array TSRMLS_DC);
>>
>>
> 
> 
> 
> 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to