0

PECL 経由で SCA_SDO をインストールするとエラーが発生し続ける

   -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.

これがコンパイルされない理由についてのアイデアはありますか?

4

1 に答える 1

0

「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」に置き換えることを推奨していますが、拡張機能で複雑なデータ型を使用している場合は、話全体がおそらくもう少し複雑です。

于 2015-03-16T20:02:07.600 に答える