用phpize自编译php模块
来源:互联网 发布:白头发怎么办 知乎 编辑:程序博客网 时间:2024/05/21 09:52
用phpize自编译php模块
在用Mac的时候,发现系统自己安装了apache和php,配置文件php.ini和apache2都在 /private/etc 下
在cli下用 php -v 显示warming,显示
PHP Warning: Module 'openssl' already loaded in Unknown on line 0
用phpinfo();打印出来后,显示的信息里说明php的模块都安装了,好奇怪,然后去看一下php的扩展库都安装了什么模块
路径如下:
/usr/lib/php/extensions/no-debug-non-zts-20121212/
发现原来只有
opcache.a opcache.so xdebug.so
三个文件(unix的模块都是.so结尾,win下的都是.dll),于是我以为是模块缺少了。然后行吧,给动态编译一下openssl.so应该总可以了吧
- 先下载一个php的源码包.tar.gz,跟系统的版本号一致
解压后进入 /etc 目录下找到 ./openssl
phpize //命令生成 configure,期间报错,说unfound autoconfig 去下载一个就可以了 brew install autoconfig
./configure --with-openssl --with-php-config=/usr/bin/php-config //期间会发现各种....no,按照提示,把各种依赖库都给装上,这里折腾了半天,安装了re2c,pkg-configd等等,还有就是mac命令行xcode安装模块编译的时候并不知道openssl命令,老是报错configure: error: Cannot find OpenSSL's <evp.h>,具体的做法是,找到openssl安装目录下的include目录,将其copy到/Library/Developer/CommandLineTools/usr/include下,我是用 brew 进行安装的,软件包所有都安装在了 /usr/local/opt/ 下
完成后显示:
creating libtool
appending configuration tag “CXX” to libtool
configure: creating ./config.status
config.status: creating config.h
编译:
make
安装:
make install
然后再 ./openssl/modules 模块文件夹下发现:
openssl.so
尼玛的终于搞定了,感觉就像合成装备一样。。。。
赶紧放入 /usr/lib/php/extensions/no-debug-non-zts-20121212/ 下
php.ini里的注释去掉;
命令行运行 php 发现:
PHP Warning: Module ‘pdo_mysql’ already loaded in Unknown on line 0
原来php已经安装过了这个模块。好吧,白费了这么久的功夫,不过也还是有收获,玩了一下动态编译php模块,但是工作中快速搭建还是使用mamp之类的集成工具吧
- 用phpize自编译php模块
- 用phpize编译动态扩展模块
- 20170920PHP用PHPize装模块
- phpize增加php模块
- phpize增加php模块
- phpize增加php模块
- php安装新模块(phpize)
- php自编译模块方法
- 通过phpize为php在不重新编译php情况下安装模块openssl
- PHP: 用 phpize 编译共享 PECL 扩展库 - Manual
- 利用phpize脚本安装PHP扩展模块
- 利用phpize安装php扩展模块
- 安装php扩展模块之phpize
- phpize和php-config安装模块
- php如何扩展模块及phpize是什么?
- 安装完PHP后,增加扩展模块 phpize
- 在linux中使用phpize安装php扩展模块
- 在linux中使用phpize安装php扩展模块
- 自定义View ——Canvas之绘制基本形状
- 剑指offer:旋转数组的最小数字
- vector之begin(),end(),front(),back()
- 线性布局 权重 详解
- "XX cannot be resolved to a type "eclipse报错(工程图标出现红叉符号)及解决说明
- 用phpize自编译php模块
- LocNet: Improving Localization Accuracy for Object Detection
- 自己常用的Python模块整理
- Vijos P1836 HYS与七夕节大作战
- SQLSERVER阻塞,显示一直在查询和取消不了解决办法
- 【Leetcode】Shortest Palindrome
- visual studio 2013 调试打断点快捷键
- org-json和net-sf-json的区别
- Redis内存淘汰机制