公司需要对用户数据的检查功能进行封禁(防止服务器掉,用户的数据被解密),并需要开发扩展功能。



用户名是cookie中的用户名,



Hashkey是pname饼干



PHP的外部发展:函数调用和参数csdn_verify_auth,用户名和HashKey。



第一次,编写PHP扩展,搜索数据,编写并测试一天半完成。它记录。如果以后需要这样做,那么只能在C算法上花费大部分时间。



1。首先向下一个PHP,编译并安装:(编译环境仅用于测试扩展)



wget



tar zxvf php-5.2.13.tar.gz



CD php-5.2.13



。 /配置-前缀= / / PHP csdn_verify_auth --配置文件路径= / / /等csdn_verify_auth PHP



让zend_extra_libs = - liconv



安装



CP php.ini-dist / / /等csdn_verify_auth PHP / php.ini



2。在六 / / /等csdn_verify_auth PHP /修改extension_dir =PHP INI; /;



修改extension_dir = / / / csdn_verify_auth PHP库 / / / PHP扩展no-debug-non-zts-20060613



此行结束后,添加以下内容,然后保存:



推广=csdn_verify_auth。所以



csdn_verify_auth改为扩展延伸你的名字了



三.开始创建一个扩展项目



进入源目录



CD / / / csdn_verify_auth php-5.2.13 EXT /



。/ ext_skel -- extname = csdn_verify_auth



创建一个项目命名为csdn_verify_auth,最终将产生csdn_verify_auth.so



4。更改配置和扩展程序开发



VI EXT / / config.m4 csdn_verify_auth



根据你自己的选择,



DNL php_arg_with(csdn_verify_auth,为csdn_verify_auth支持,



DNL确保注释对齐:



DNL {——with-csdn_verify_auth包括csdn_verify_auth支持})



除去DNL



或将



DNL php_arg_enable(csdn_verify_auth,是否启用csdn_verify_auth支持,



DNL确保注释对齐:



DNL {——enable-csdn_verify_auth使csdn_verify_auth支持})



除去DNL



VI EXT / / php_csdn_verify_auth csdn_verify_auth。H



将



php_function(confirm_csdn_verify_auth_compiled); / *测试,删除后..



改变



php_function(csdn_verify_auth);



VI EXT / / csdn_verify_auth csdn_verify_auth C。



将



zend_function_entry php5cpp_functions { } = { {



php_fe(confirm_csdn_verify_auth_compiled,null)测试删除后。**。



{零,零,零}必须最后线 / * * / php5cpp_functions { }



};



改变



zend_function_entry php5cpp_functions { } = { {



php_fe(csdn_verify_auth,null)



{零,零,零}必须最后线 / * * / php5cpp_functions { }



};



在最后的添加中:



php_function(csdn_verify_auth)



{



zend_printf(你好世界);



}



5。编译和生成这样的文件



CD / / / csdn_verify_auth php-5.2.13 EXT / / csdn_verify_auth



/ / / PHP csdn_verify_auth bin / phpize



。 /配置PHP配置= / / / PHP csdn_verify_auth bin / PHP配置



使



MV / / / csdn_verify_auth php-5.2.13 EXT / / / csdn_verify_auth模块csdn_verify_auth.so / / / csdn_verify_auth PHP库 / / / no-debug-non-zts-20060613 PHP扩展



cd…



6。测试扩展



六 / / hello.php csdn_verify_auth



csdn_verify_auth();



>



/ / / csdn_verify_auth PHP PHP hello.php斌/



你好世界。



好啊



API的主要用途是少数:



zend_num_args(),zend_parse_parameters(args tsrmls_cc,ss用户名、username_length,哈希,hash_length)参数接收系列



return_false.return系列功能如return_stringl(S,L,DUP)等







另一个基本的是C,再次感叹,学习C语言,不用害怕。