php Compile on Mac
2016-06-10 02:55
676 查看
!!当Apache 使用的php出问题时,第一步是看phpinfo。
!!!最重要的事情:重新编译php前一定要记录下phpinfo中的configure选项。
whereis PHP 查看当前使用的php的路径
php -v 查看php版本信息
php -m 查看php启动的模块
php -i | grep php.ini 查看php.ini的路径
php -i | grep extension_dir 查看php extension的安装路径
下载php压缩包并解压。
每次编译php之前,要将old libphp5.so删掉或另存起来,否则新编译出来的libphp5.so不生效(也可能是因为没换路径没有生成)怎么看生不生效?restart Apache,看phpinfo有没有变化。
libphp5.so是Apache要用的php链接库,在httpd.conf中配置。
可选的常用配置(将下面的指令copy文本编辑器,\后面不要有空格,然后copy到terminal。如果paste到terminal时有问题,请手动输入)
./configure \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--enable-mbstring \
--enable-zip \
--with-zlib \
--with-curl \
--with-openssl \
--with-apxs2 \
--enable-maintainer-zts \
sudo make clean
sudo make -j8 (编译失败则执行make clean)
sudo make install
sudo apachectl restart
说明:
--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional
--enable-maintainer-zts Enable thread safety - for code maintainers only!!
--enable-mbstring 没有这个配置,我们就不能用mb_substitute_character()
--with-mysql 没有这个配置,我们就不能用mysql_connect()
--with-openssl 可能遇到错误 configure: error: Cannot find OpenSSL's <evp.h>
需要安装openssl,另一篇blog有说明Install OpenSSL
安装后还可能报错,configure: error: libcrypto not found!,解决方法
!!!最重要的事情:重新编译php前一定要记录下phpinfo中的configure选项。
whereis PHP 查看当前使用的php的路径
php -v 查看php版本信息
php -m 查看php启动的模块
php -i | grep php.ini 查看php.ini的路径
php -i | grep extension_dir 查看php extension的安装路径
下载php压缩包并解压。
每次编译php之前,要将old libphp5.so删掉或另存起来,否则新编译出来的libphp5.so不生效(也可能是因为没换路径没有生成)怎么看生不生效?restart Apache,看phpinfo有没有变化。
libphp5.so是Apache要用的php链接库,在httpd.conf中配置。
可选的常用配置(将下面的指令copy文本编辑器,\后面不要有空格,然后copy到terminal。如果paste到terminal时有问题,请手动输入)
./configure \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--enable-mbstring \
--enable-zip \
--with-zlib \
--with-curl \
--with-openssl \
--with-apxs2 \
--enable-maintainer-zts \
sudo make clean
sudo make -j8 (编译失败则执行make clean)
sudo make install
sudo apachectl restart
说明:
--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional
--enable-maintainer-zts Enable thread safety - for code maintainers only!!
--enable-mbstring 没有这个配置,我们就不能用mb_substitute_character()
--with-mysql 没有这个配置,我们就不能用mysql_connect()
--with-openssl 可能遇到错误 configure: error: Cannot find OpenSSL's <evp.h>
需要安装openssl,另一篇blog有说明Install OpenSSL
安装后还可能报错,configure: error: libcrypto not found!,解决方法
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- 简单好用的PHP分页类