location ^ \.phpc$ {
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME /..../hightlight.php;
fastcgi_param ORIGINAL_URI $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
}
Угу.Потому что в апач модуле все построено на миме, и mod_php принимает решение что показывать именно на его основе. Fastcgi совсем другой sapi и там этого вообще может не быть.
Так что, наверно, что-то вроде
Код:location ^ \.phpc$ { fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME /..../hightlight.php; fastcgi_param ORIGINAL_URI $fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; }
#define PHP_MAGIC_TYPE "application/x-httpd-php"
#define PHP_SOURCE_MAGIC_TYPE "application/x-httpd-php-source"
....
/* Determine if we need to parse the file or show the source */
if (strncmp(r->handler, PHP_SOURCE_MAGIC_TYPE, sizeof(PHP_SOURCE_MAGIC_TYPE) - 1) == 0) {
zend_syntax_highlighter_ini syntax_highlighter_ini;
php_get_highlight_struct(&syntax_highlighter_ini);
highlight_file((char *)r->filename, &syntax_highlighter_ini TSRMLS_CC);
} else {
.......
location ~ \.phps$ {
fastcgi_pass unix:/var/run/php-fcgi.sock;
include fastcgi_params.default;
fastcgi_param SCRIPT_FILENAME /usr/local/lib/php/hightlight_source.php;
}
# should go before if u have \.php rather then \.php$
location ~ \.php { #
<?php highlight_file ($_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME']);