phpize建立php扩展 Cannot find config.m4

phpize建立php扩展Cannot find config.m4
[root@ns root]# phpize
  Cannot find config.m4.
   Make sure that you run /usr/local/bin/phpize in the top level source directory of the module

出现这个无法安装PHP的拓展的

在/usr/local/src/php-5.6.31/ext下找到这个工具
  来建立一个php扩展的一个框架
  [root@ns ext]#cd /usr/local/src/php-5.6.31/ext/
  [root@ns ext]# ./ext_skel --extname=sdomain
To use your new extension, you will have to execute the following steps:
  1. $ cd ..
  2. $ vi ext/sdomain/config.m4
  3. $ ./buildconf
  4. $ ./configure --[with|enable]-sdomain
  5. $ make
  6. $ ./php -f ext/sdomain/sdomain.php
  7. $ vi ext/sdomain/sdomain.c
  8. $ make
[root@ns ext]# cd sdomain/
  [root@ns sdomain]# ls
  config.m4 EXPERIMENTAL     sdomain.php  tests
  CREDITS  sdomain.c php_sdomain.h
  然后我们要修改文件顺序是
  configue.m4
  sdomain.c
  php_sdomain.h
使用文本编辑器打开config.m4文件,修改文件内容:
dnl PHP_ARG_WITH(my_module, for my_module support,
  dnl Make sure that the comment is aligned:
  dnl [ --with-my_module       Include my_module support])
修改成
  PHP_ARG_WITH(my_module, for my_module support,
  [ --with-my_module       Include my_module support])
  或者将
dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
  dnl Make sure that the comment is aligned:
  dnl [ --enable-my_module      Enable my_module support])
修改成
  PHP_ARG_ENABLE(my_module, whether to enable my_module support,
  [ --enable-my_module      Enable my_module support])
(其实就是将这部分的dnl去掉,在这个文件里dnl就是注释的意思,相当于我们PHP里面的#或// 另外把他中间的一句描术也去掉)
然后保存退出
  然后在编辑
  Vi my_module.c
  将文件其中的下列代码进行修改
/* Every user visible function must have an entry in my_module_functions[].
*/
function_entry my_module_functions[] = {
    PHP_FE(say_hello,    NULL) /* ?添加着一行代码 */
    PHP_FE(confirm_my_module_compiled,   NULL) /* For testing, remove later. */
    {NULL, NULL, NULL}   /* Must be the last line in my_module_functions[] */
};
  在文件的最后添加下列代码
PHP_FUNCTION(say_hello)
{
    zend_printf("hello my_module!");
}

再修改:php_my_module.h
vi php_my_module.h


PHP_FUNCTION(confirm_my_module_compiled); 这行的下面添加一行:

PHP_FUNCTION(say_hello); /* For testing, remove later. */
保存文件退出

进行安装

cd /usr/local/src/php-5.6.31/

./configure --prefix=/usr/local/php --with-libxml-dir=/usr/local/libxml --with-apxs2=/usr/local/apache/bin/apxs

make && make install

安装完后,居然没有ext拓展,只能复制源码包里的过来了

cp -r /usr/local/src/php-5.6.31/ext /usr/local/php/

然后我们就可以在这个目录下使用上面的命令了
/usr/local/php/bin/phpize

如果正常就显示这个

Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

如果没出现这2句就还好,如果出现这2句,则需要 yum -y install m4 autoconf
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

 

如果失败还是显示

Cannot find config.m4

源码包安装后,没有php.ini的话可以直接复制

cp /usr/local/src/php-5.6.31/php.ini-production /usr/local/php5/lib/php.ini

 

转载于:https://www.cnblogs.com/huanghuahui/p/7514718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值