Linux 下安装Yaf扩展
1.在官网下载了yaf扩展包 yaf-3.0.3.tgz
2.开始安装yaf扩展
tar zxvf yaf-3.0.3.tgz cd yaf-3.0.3 phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install
//php.ini配置文件中加入pcntl配置文件 [root@centos src]# echo "extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/yaf.so" >> /usr/local/php/etc/php.ini
//重启服务
报错:
In file included from /data1/study/yaf-3.0.2/yaf.c:28: /data1/study/yaf-3.0.2/php_yaf.h:72: error: expected specifier-qualifier-list before ‘zend_string’ In file included from /data1/study/yaf-3.0.2/yaf.c:30: /data1/study/yaf-3.0.2/yaf_loader.h:72: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_loader.h:72: error: expected declaration specifiers or ‘...’ before ‘zend_string’ In file included from /data1/study/yaf-3.0.2/yaf.c:32: /data1/study/yaf-3.0.2/yaf_application.h:31: error: expected ‘)’ before ‘*’ token In file included from /data1/study/yaf-3.0.2/yaf.c:35: /data1/study/yaf-3.0.2/yaf_view.h:34: error: expected declaration specifiers or ‘...’ before ‘zend_string’ In file included from /data1/study/yaf-3.0.2/yaf.c:36: /data1/study/yaf-3.0.2/yaf_controller.h:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token In file included from /data1/study/yaf-3.0.2/yaf.c:38: /data1/study/yaf-3.0.2/yaf_request.h:47: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_request.h:48: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_request.h:48: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_request.h:52: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_request.h:59: error: expected declaration specifiers or ‘...’ before ‘zend_string’ In file included from /data1/study/yaf-3.0.2/yaf.c:39: /data1/study/yaf-3.0.2/yaf_response.h:35: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_response.h:35: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf_response.h:38: error: expected declaration specifiers or ‘...’ before ‘zend_string’ /data1/study/yaf-3.0.2/yaf.c: In function ‘OnUpdateSeparator’: /data1/study/yaf-3.0.2/yaf.c:58: error: ‘zend_yaf_globals’ has no member named ‘name_separator’ /data1/study/yaf-3.0.2/yaf.c:59: error: ‘zend_yaf_globals’ has no member named ‘name_separator_len’ /data1/study/yaf-3.0.2/yaf.c: At top level: /data1/study/yaf-3.0.2/yaf.c:67: error: ‘zend_yaf_globals’ has no member named ‘global_library’ /data1/study/yaf-3.0.2/yaf.c:68: error: ‘zend_yaf_globals’ has no member named ‘action_prefer’ /data1/study/yaf-3.0.2/yaf.c:69: error: ‘zend_yaf_globals’ has no member named ‘lowcase_path’ /data1/study/yaf-3.0.2/yaf.c:70: error: ‘zend_yaf_globals’ has no member named ‘use_spl_autoload’ /data1/study/yaf-3.0.2/yaf.c:71: error: ‘zend_yaf_globals’ has no member named ‘forward_limit’ /data1/study/yaf-3.0.2/yaf.c:72: error: ‘zend_yaf_globals’ has no member named ‘name_suffix’ /data1/study/yaf-3.0.2/yaf.c:75: error: ‘zend_yaf_globals’ has no member named ‘st_compatible’ /data1/study/yaf-3.0.2/yaf.c:77: error: ‘zend_yaf_globals’ has no member named ‘environ_name’ /data1/study/yaf-3.0.2/yaf.c:78: error: ‘zend_yaf_globals’ has no member named ‘use_namespace’ /data1/study/yaf-3.0.2/yaf.c: In function ‘zm_startup_yaf’: /data1/study/yaf-3.0.2/yaf.c:96: error: ‘zend_yaf_globals’ has no member named ‘use_namespace’ /data1/study/yaf-3.0.2/yaf.c:99: error: ‘zend_yaf_globals’ has no member named ‘environ_name’ /data1/study/yaf-3.0.2/yaf.c:99: error: ‘zend_yaf_globals’ has no member named ‘environ_name’ /data1/study/yaf-3.0.2/yaf.c:99: warning: passing argument 1 of ‘strlen’ from incompatible pointer type /usr/include/string.h:399: note: expected ‘const char *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c:99: warning: passing argument 3 of ‘zend_register_stringl_constant’ from incompatible pointer type /usr/local/sinasrv2/include/php/Zend/zend_constants.h:68: note: expected ‘char *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c:114: error: ‘zend_yaf_globals’ has no member named ‘environ_name’ /data1/study/yaf-3.0.2/yaf.c:114: error: ‘zend_yaf_globals’ has no member named ‘environ_name’ /data1/study/yaf-3.0.2/yaf.c:114: warning: passing argument 1 of ‘strlen’ from incompatible pointer type /usr/include/string.h:399: note: expected ‘const char *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c:114: warning: passing argument 3 of ‘zend_register_stringl_constant’ from incompatible pointer type /usr/local/sinasrv2/include/php/Zend/zend_constants.h:68: note: expected ‘char *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c: In function ‘zm_shutdown_yaf’: /data1/study/yaf-3.0.2/yaf.c:155: error: ‘zend_yaf_globals’ has no member named ‘configs’ /data1/study/yaf-3.0.2/yaf.c:156: error: ‘zend_yaf_globals’ has no member named ‘configs’ /data1/study/yaf-3.0.2/yaf.c:156: warning: passing argument 1 of ‘zend_hash_destroy’ from incompatible pointer type /usr/local/sinasrv2/include/php/Zend/zend_hash.h:101: note: expected ‘struct HashTable *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c:157: error: ‘zend_yaf_globals’ has no member named ‘configs’ /data1/study/yaf-3.0.2/yaf.c:157: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type /usr/include/stdlib.h:488: note: expected ‘void *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c:157: error: ‘zend_yaf_globals’ has no member named ‘configs’ /data1/study/yaf-3.0.2/yaf.c:157: warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type /usr/local/sinasrv2/include/php/Zend/zend_alloc.h:60: note: expected ‘void *’ but argument is of type ‘const struct zend_ini_entry *’ /data1/study/yaf-3.0.2/yaf.c: In function ‘zm_activate_yaf’: /data1/study/yaf-3.0.2/yaf.c:168: error: ‘zend_yaf_globals’ has no member named ‘throw_exception’ /data1/study/yaf-3.0.2/yaf.c:169: error: ‘zend_yaf_globals’ has no member named ‘ext’ /data1/study/yaf-3.0.2/yaf.c:170: error: ‘zend_yaf_globals’ has no member named ‘view_ext’ /data1/study/yaf-3.0.2/yaf.c:171: error: ‘zend_yaf_globals’ has no member named ‘default_module’ /data1/study/yaf-3.0.2/yaf.c:173: error: ‘zend_yaf_globals’ has no member named ‘default_controller’ /data1/study/yaf-3.0.2/yaf.c:175: error: ‘zend_yaf_globals’ has no member named ‘default_action’ /data1/study/yaf-3.0.2/yaf.c: In function ‘zm_deactivate_yaf’: /data1/study/yaf-3.0.2/yaf.c:185: error: ‘zend_yaf_globals’ has no member named ‘running’ /data1/study/yaf-3.0.2/yaf.c:186: error: ‘zend_yaf_globals’ has no member named ‘in_exception’ /data1/study/yaf-3.0.2/yaf.c:187: error: ‘zend_yaf_globals’ has no member named ‘catch_exception’ /data1/study/yaf-3.0.2/yaf.c:189: error: ‘zend_yaf_globals’ has no member named ‘directory’ /data1/study/yaf-3.0.2/yaf.c:190: error: ‘zend_yaf_globals’ has no member named ‘directory’ /data1/study/yaf-3.0.2/yaf.c:191: error: ‘zend_yaf_globals’ has no member named ‘directory’ /data1/study/yaf-3.0.2/yaf.c:193: error: ‘zend_yaf_globals’ has no member named ‘local_library’ /data1/study/yaf-3.0.2/yaf.c:194: error: ‘zend_yaf_globals’ has no member named ‘local_library’ /data1/study/yaf-3.0.2/yaf.c:195: error: ‘zend_yaf_globals’ has no member named ‘local_library’ /data1/study/yaf-3.0.2/yaf.c:197: error: ‘zend_yaf_globals’ has no member named ‘local_namespaces’ /data1/study/yaf-3.0.2/yaf.c:198: error: ‘zend_yaf_globals’ has no member named ‘local_namespaces’ /data1/study/yaf-3.0.2/yaf.c:199: error: ‘zend_yaf_globals’ has no member named ‘local_namespaces’ /data1/study/yaf-3.0.2/yaf.c:201: error: ‘zend_yaf_globals’ has no member named ‘bootstrap’ /data1/study/yaf-3.0.2/yaf.c:202: error: ‘zend_yaf_globals’ has no member named ‘bootstrap’ /data1/study/yaf-3.0.2/yaf.c:203: error: ‘zend_yaf_globals’ has no member named ‘bootstrap’ /data1/study/yaf-3.0.2/yaf.c:205: error: ‘zend_yaf_globals’ has no member named ‘modules’ /data1/study/yaf-3.0.2/yaf.c:205: error: request for member ‘type’ in something not a structure or union /data1/study/yaf-3.0.2/yaf.c:205: warning: comparison between pointer and integer /data1/study/yaf-3.0.2/yaf.c:206: error: ‘zend_yaf_globals’ has no member named ‘modules’ /data1/study/yaf-3.0.2/yaf.c:206: warning: passing argument 1 of ‘_zval_ptr_dtor’ from incompatible pointer type /usr/local/sinasrv2/include/php/Zend/zend_variables.h:51: note: expected ‘struct zval **’ but argument is of type ‘const struct zend_ini_entry (*)[1]’ /data1/study/yaf-3.0.2/yaf.c:207: error: ‘zend_yaf_globals’ has no member named ‘modules’ /data1/study/yaf-3.0.2/yaf.c:209: error: ‘zend_yaf_globals’ has no member named ‘base_uri’ /data1/study/yaf-3.0.2/yaf.c:210: error: ‘zend_yaf_globals’ has no member named ‘base_uri’ /data1/study/yaf-3.0.2/yaf.c:211: error: ‘zend_yaf_globals’ has no member named ‘base_uri’ /data1/study/yaf-3.0.2/yaf.c:213: error: ‘zend_yaf_globals’ has no member named ‘view_directory’ /data1/study/yaf-3.0.2/yaf.c:214: error: ‘zend_yaf_globals’ has no member named ‘view_directory’ /data1/study/yaf-3.0.2/yaf.c:215: error: ‘zend_yaf_globals’ has no member named ‘view_directory’ /data1/study/yaf-3.0.2/yaf.c:217: error: ‘zend_yaf_globals’ has no member named ‘view_ext’ /data1/study/yaf-3.0.2/yaf.c:218: error: ‘zend_yaf_globals’ has no member named ‘view_ext’ /data1/study/yaf-3.0.2/yaf.c:220: error: ‘zend_yaf_globals’ has no member named ‘default_module’ /data1/study/yaf-3.0.2/yaf.c:221: error: ‘zend_yaf_globals’ has no member named ‘default_module’ /data1/study/yaf-3.0.2/yaf.c:223: error: ‘zend_yaf_globals’ has no member named ‘default_controller’ /data1/study/yaf-3.0.2/yaf.c:224: error: ‘zend_yaf_globals’ has no member named ‘default_controller’ /data1/study/yaf-3.0.2/yaf.c:226: error: ‘zend_yaf_globals’ has no member named ‘default_action’ /data1/study/yaf-3.0.2/yaf.c:227: error: ‘zend_yaf_globals’ has no member named ‘default_action’ /data1/study/yaf-3.0.2/yaf.c:229: error: ‘zend_yaf_globals’ has no member named ‘ext’ /data1/study/yaf-3.0.2/yaf.c:230: error: ‘zend_yaf_globals’ has no member named ‘ext’ /data1/study/yaf-3.0.2/yaf.c:232: error: ‘zend_yaf_globals’ has no member named ‘default_route’ make: *** [yaf.lo] Error 1
分析原因:搜索下了类似的结果 都说 缺少 pcre
建议:yum install pcre-dev 但是我这里已经显示安装pcre扩展成功,然并卵 没啥用。
经过再三的测试安装 发现竟然是yaf版本问题, 目前php版本是 5.5.35 , 然后去官网下载了 yaf-2.2.8
安装上面步骤重新安装 搞定!!