apache重新启动,apache重启不了

  

  #C语言#   

  

  没有专门学过C语言。我刚刚读了谭浩强的书,把一些例子输入电脑进行编辑。书上很多习题好像都是数学题,我一个都不会。我觉得如果不是为了考试,我可以先用C语言写程序,感觉以后会深入学习。用C写程序的时候,我通过网络搜索,然后反复尝试,终于完成了程序,并投入到实际业务中。   

  

  我用C语言把访问数据库的部分写成php扩展的形式,直接调用php网页中的函数来实现各种功能。   

  

  首先,下载php源程序,解压,进入目录:   

  

  CD/usr/local/src/PHP-7 . 4 . 27/ext Run ext _ ext _ skel . PHP-ext=waters创建一个名为waters的扩展。   

  

  进入waters目录,依次执行以下命令:   

  

  Phze。/Configure Make命令是正常的,表明扩展已成功创建。   

  

  编辑Makefile,并在其中添加我的编译参数和头文件目录。在这里,只需添加mysql访问功能。   

  

  编辑文件/etc/php/7.4/apache2/php.ini并添加一句话:extension=waters.so   

  

  第二步,编辑waters.c,并将编写的函数添加到其中。   

  

  遵循示例程序并添加php函数。   

  

  这是参数声明的一部分:   

  

  Zend _ begin _ arg _ info(arginfo _ userinfo,0) Zend _ arg _ info (0,str) Zend _ end _ arg _ info()这部分是php函数入口:   

  

  static const Zend _ function _ entry waters _ functions={ PHP _ FE(userinfo,arginfo _ userinfo)PHP _ FE _ END };我在这里添加了userinfo函数,通过数字获取用户信息。   

  

  添加一个函数接口,获取参数,用参数调用之前写的函数。照着例子改就行了。   

  

  /* { { { string userinfo(string $ var)*/PHP _ FUNCTION(userinfo){ char * var=' World ';size _ t var _ len=sizeof(' World ')-1;zend _ string * retvalZEND_PARSE_PARAMETERS_START(0,1)Z _ PARAM _ optional Z _ PARAM _ STRING(var,var _ len)ZEND _ PARSE _ PARAMETERS _ END();char * x=getinfo(var);retval=strprintf(0,' %s ',x);RETURN _ STR(retval);}/* } } */编译、安装并重启apache:   

  

  Make install apachectl restart iii。在php文件中调用函数。   

  

  $ ret=userinfo($ number);$ XML=SimpleXML _ load _ string($ ret);该函数以xml格式返回用户信息,经过处理后放在web页面上。   

  

     

相关文章