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

安装上面步骤重新安装  搞定!!

         

原文地址:https://www.cnblogs.com/justphp/p/5656163.html