nginx安裝擴充套件模組報錯
安裝nginx擴充套件模組的時候報錯如下:
[root@21d80854d33f memcached-1.4.24]$phpize
Cannot find config.m4.
Make sure that you run `/usr/bin/phpize` in the top level source directory of the module
可能的原因:1.安裝包沒找對, 解壓的資料夾中沒有config.m4 下載正確的擴充套件包安裝
2.
你的模擴充套件的時候最好
放在/usr/local/src/php-4.3.5/ext下
來執行他你在這裡也可以這樣/usr/local/php/bin/phpize來執行也可以
phpize來執行
我們在/usr/local/src/php-4.3.5/ext下找到這個工具
來建立一個php擴充套件的一個框架
[root@ns ext]#cd /usr/local/src/php-4.3.5/ext/
[root@ns ext]# ./ext_skel –extname=sdomain
Creating directory sdomain
Creating basic files: config.m4 .cvsignore sdomain.c php_sdomain.h CREDITS EXPERIMENTAL tests/001.phpt sdomain.php [done].
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
執行了這個步驟以後你會看到這樣的結果
Repeat steps 3-6 until you are satisfied with ext/sdomain/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
這樣以後我們會在這個目錄下生成一個目錄叫sdomain
進入這裡面我們看看
[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 $Id$d
dnl config.m4 for extension my_module
dnl dont forget to call PHP_EXTENSION(my_module)
dnl Comments in this file start with the string dnl.
dnl Remove where necessary. This file will not work
dnl without editing.
dnl If your extension references something external, use with:
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])
dnl Otherwise use enable:
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])
if test $PHP_MY_MODULE != no; then
dnl If you will not be testing anything external, like existence of
dnl headers, libraries or functions in them, just uncomment the
dnl following line and you are ready to go.
dnl Write more examples of tests here…
PHP_EXTENSION(my_module, $ext_shared)
Fi
根據你自己的選擇將
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 sdomain!”);
}
再修改:php_sdomain.h
vi php_sdomain.h
在PHP_FUNCTION(confirm_my_module_compiled ); /* For testing, remove later. */ 這行的下面新增一行:
PHP_FUNCTION(say_hello); /* For testing, remove later. */
儲存檔案退出
本文轉自 憬薇 51CTO部落格,原文連結:http://blog.51cto.com/welcomeweb/1702911
相關文章
- php安裝filter擴充套件模組PHPFilter套件
- php擴充套件模組安裝-lampPHP套件LAMP
- php安裝memcache、redis擴充套件模組PHPRedis套件
- 【PHP】Mcrypt 擴充套件模組安裝及使用PHP套件
- [LAMP]php動態擴充套件模組安裝LAMPPHP套件
- MacOs 安裝擴充套件錯誤列表Mac套件
- php安裝mamcache擴充套件時報錯PHP套件
- php-redis擴充套件模組安裝記錄PHPRedis套件
- amqp及zmq擴充套件安裝錯誤MQ套件
- YAML 擴充套件安裝YAML套件
- Yac 擴充套件安裝套件
- PHP 擴充套件安裝PHP套件
- mongodb擴充套件安裝MongoDB套件
- sphinxphp擴充套件安裝PHP套件
- 手動為php安裝memcached擴充套件模組薦PHP套件
- PHP 7.3.8 安裝 ext-Redis 擴充套件 報錯處理方案PHPRedis套件
- Ubuntu 下 Nginx 伺服器 PHP 安裝 MongoDB 擴充套件UbuntuNginx伺服器PHPMongoDB套件
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- PostgreSQL 安裝擴充套件包SQL套件
- PHP安裝redis擴充套件PHPRedis套件
- php amqp擴充套件安裝PHPMQ套件
- Centosphp安裝cassandra擴充套件CentOSPHP套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php mysql擴充套件安裝PHPMySql套件
- php 安裝yar擴充套件PHP套件
- php安裝openssl 擴充套件PHP套件
- php gmp擴充套件安裝PHP套件
- 安裝phpxdebug擴充套件PHP套件
- PHP opcache擴充套件安裝PHPopcache套件
- PHP安裝fastDFS擴充套件PHPAST套件
- Ubuntu 20.04 安裝 php mbstring 擴充套件(報錯:Call to ... mb_strcut() )UbuntuPHP套件
- go get 拉取擴充套件報錯Go套件
- docker PHP 安裝 Redis 擴充套件DockerPHPRedis套件
- Homestead 安裝 Redis 擴充套件Redis套件
- 安裝 SSH2 擴充套件套件
- 利用 phpize 安裝 openssl 擴充套件PHP套件
- 【記錄】安裝 maxminddb 擴充套件套件
- [記錄] 安裝 maxminddb 擴充套件套件