Продолжайте получать ошибки при установке SCA_SDO через PECL
-MacBook-Pro:SCA_SDO-1.2.4 roland$ sudo pecl install SCA_SDO
downloading SCA_SDO-1.2.4.tgz ...
Starting to download SCA_SDO-1.2.4.tgz (576,531 bytes)
..............................................................................................done: 576,531 bytes
194 source files, building
running: phpize
Cannot find config.m4.
Make sure that you run '/usr/local/Cellar/php55/5.5.22/bin/phpize' in the top level source directory of the module
ERROR: `phpize' failed
затем, когда я пытаюсь вручную загрузить и установить, я получаю следующее
/Users/roland/Documents/sca_sdo/SCA_SDO-1.2.4/sdo.cpp:310:1: error: unknown type
name 'function_entry'
function_entry sdo_model_propertyimpl_methods[] = {
^
/Users/roland/Documents/sca_sdo/SCA_SDO-1.2.4/sdo.cpp:325:8: warning: duplicate
'static' declaration specifier [-Wduplicate-decl-specifier]
static ZEND_BEGIN_ARG_INFO_EX(arginfo_sdo_model_reflectiondataobject_exp...
^
/usr/local/Cellar/php55/5.5.22/include/php/Zend/zend_API.h:107:2: note:
expanded from macro 'ZEND_BEGIN_ARG_INFO_EX'
static const zend_arg_info name[] = ...
^
/Users/roland/Documents/sca_sdo/SCA_SDO-1.2.4/sdo.cpp:330:1: error: unknown type
name 'function_entry'
function_entry sdo_model_reflectiondataobject_methods[] = {
^
/Users/roland/Documents/sca_sdo/SCA_SDO-1.2.4/sdo.cpp:352:1: error: unknown type
name 'function_entry'
function_entry sdo_exception_methods[] = {
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
15 warnings and 20 errors generated.
Любые идеи о том, почему это не будет компилироваться?
Замена «function_entry» на «zend_function_entry» была достаточной для простого теста, который я запустил на OS X 10.9.5 с PHP 5.4.30, используя код, опубликованный здесь: http://php.webtutor.pl/en/2011/07/07/how-to-create-php-extensions-in-c-part-i-adding-simple-function/
Комментарии на https://bugs.php.net/bug.php?id=61479 также рекомендуем заменить «pval» на «zval» в исходном коде, но если вы используете сложные типы данных в своем расширении, тогда вся история, вероятно, будет немного более сложной.
Других решений пока нет …