У меня есть следующая проблема:
Я запускаю php как fastcgi (IIS 7.5 windows 2008 R2 64 bit)
Теперь я пишу тестовую функцию «use_html». Я компилирую эту DLL как расширение php (Visual 2012). Я скопировал его в папку php \ ext
#include "stdafx.h"#include "php_ext.h"
//#define PHP_COMPILER_ID "VC9"
ZEND_FUNCTION(use_html);
zend_function_entry use_functions[] =
{
ZEND_FE(use_html, NULL)
{NULL, NULL, NULL}
};
zend_module_entry use_html_module_entry =
{
STANDARD_MODULE_HEADER,
"Use Html",
use_functions,
NULL, NULL, NULL, NULL, NULL,
"1.0.0-tutorial",
STANDARD_MODULE_PROPERTIES
};
ZEND_GET_MODULE(use_html);
ZEND_FUNCTION(use_html)
{
//bool useHtml;
//if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &useHtml) == FAILURE)
//{
// E_ERROR;
// return;
//}
//if(useHtml)
//{
php_printf("This string uses <a href='#'>Html</a>");
//}
//else
//{
// php_printf("This string does not Html");
//}
return;
}
Это работает, если я вызываю phpinfo (); — я вижу, что расширение Use Html установлено; это не сработало, если я вызову функцию use_html (true) в скрипте php …
Я всегда получаю исключение от сервера IIS
Ошибка HTTP 500.0 — внутренняя ошибка сервера
C: \ php-5.4.6-Win32-VC9-x86 \ php-cgi.exe — процесс FastCGI неожиданно завершился
Вопрос: он всегда должен быть скомпилирован с одной и той же версией компилятора? или же ??
Задача ещё не решена.
Других решений пока нет …