`
tomhibolu
  • 浏览: 1386507 次
文章分类
社区版块
存档分类
最新评论

在编译PHP的时候 生成的是libphp4.a 还是libphp4.so 模块而且生成之后

 
阅读更多

Key:看你是PHP的静态方式安装还是PHP的DSO安装,前者是libphp4.a 后者直接生成

libphp4.so

补充:

PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI

我建议你最好把PHP安装为Apached的DSO ,这种安装模式的维护和升级都相当简单。比方说,假设你原先只安装了PHP的数据库支持功能。可过了几天之后你又决定要为PHP添加加密功能。很简单,你只要键入make clean命令,然后增加新的配置选项,接着再执行make和 make install命令即可。这样,新的PHP模块就会被安装到Apache上的恰当位置,你只要重新启动Apache就一切OK了,当然,整个过程完全不用重新编译Apache。

安装新版本的Apache以及安装作为Apache DSO的PHP的简单步骤如下所示:

1. 从Apache软件基金会这一站点下载Apache服务器软件的最新版本源代码。
2. 把代码文件放到/usr/local/ 或者/opt/ 等合适的目录下。
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
4. 键入以下的解包命令把以上的tar文件放到形为apache_[version]的目录下:

tar -xvf apache_[version].tar

5. 进到/usr/local/apache_[version] 目录(或者在上面步骤中你所指定的目录)。
6. 键入下面的配置命令,用你设定的路径(比如/usr/local/apache[version]等,注意后面不要跟斜线!)取代[path]参数,同时你还要启用mod_so参数以允许Apache使用DSO

/configure --prefix=[path] --enable-module=so

7. 回到命令提示行键入make命令并等待命令执行完成再次回到命令提示状态下。
8. 键入make install。

到这个时候,编译器即可创建最终的目录并返回到系统的命令提示状态下。

接下来安装PHP:

1. 访问PHP主页的下载区域选中最新版本源代码的链接。
2. 把下载的文件放到/usr/local/ 或者/opt/等适当的目录下。
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
4. 键入以下的解包命令把以上的tar文件放到形为php-[version]的目录下:

tar -xvf php-[version]

5. 进到/usr/local/php-[version]目录下(或者你指定的目录)。

现在即可编译PHP DSO,其实这里只需要一个必要的配置选项--with-apxs(Apache bin目录下的一个文件)--不过,为了系统配置更为全面,我们在这里还增加了对MySQL数据库的支持。

/configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs]

6.回到命令提示行下键入make命令并等到命令执行完成再次回到命令提示状态下。
7.键入make install命令。

在这个时候,编译器将会创建最终的DSO,并把它放在Apache模块目录下,同时会为你修改Apache的httpd.conf 配置文件,之后系统回到命令提示状态下等待你输入新指令。然后,你即可打开Apache的httpd.conf 配置文件做一些修正:

1. 找到有ServerAdmin字样的一行,加入你自己的电子邮件地址,如下所示:

ServerAdmin you@yourdomain.com

2. 找到以ServerName开头的一行,把后面的参数修改为实际值,比如:

ServerName localhost

3. 找到下面一段:

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

修改这些配置行以便取消PHP 4.0下的某些加在AddType之前的注释,同时你应该添加一些为PHP所使用的文件扩展名,修改后的以上各行看起来可能会是下面这样子:

# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

保存以上的配置文件,回到上级目录,键入以下命令即可启动Apache:

/bin/apachectl start

如果启动期间没有出现什么问题,你即可测试Apache和PHP的安装情况,方法是创建一个名叫phpinfo.php的文件,其中包含了以下的代码行:



保存该文件并把它放置在Apache的文档根目录下(htdocs),然后启动你的Web浏览器,在浏览器地址栏里键入http://localhost/phpinfo.php,浏览器即会以很大的篇幅显示出PHP和Apache系统的各个变量和变量值。

如果你想要重新设置PHP,你需要做的不外乎是执行make clean命令,然后执行带有新配置选项的/configure命令,接着执行make和make install。这样,Apache模块目录中就会出现一个新模块,你只要重启Apache以装载新模块。以前的许多头疼问题现在就迎刃而解了。
分享到:
评论

相关推荐

    php7.0.27扩展文件(libphp7.so、libphp7-zts.so)

    apache和PHP安装配置后,无法解析php文件,提示下载信息,因为php缺少libphp7.so文件

    libphp5.so

    libphp5.so安装php不刻或缺的东西,送给需要的恩

    libphp7.so

    PHP 7.0.5 编译的libphp7.so,供 Apache/2.4.6使用,还没试过单独拷这个文件使用,没有积分可以私我发你 PHP 7.0.5 (cli) (built: May 13 2020 22:20:18) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend ...

    libphp5.so/gd.so/pdo_mysql.so

    内含libphp5.so、gd.so、pdo_mysql.so,php.ini,将其放置在/usr/local/php/lib下,然后重启apache即可。 SHA256: 89B77724A934017C0E0B1F0F30BE9AE58E7FB97BA349AF57868E6A904990E299

    apache配置php7模块libphp7.so

    linux系统apache配置php环境所需要的so库文件libphp7.so

    安装lamp报错信息及解决方法

    /use/lib//usr/lib/libdb-4.2.so: could not read symbols: File in wrong format Notice: Following unknown configure options were used: usr/bin/ld: cannot find -lltdl /usr/bin/ld: cannot find -...

    如何使用PHP Embed SAPI实现Opcodes查看器

    PHP提供了一个Embed SAPI,也就是说,PHP容许你在C/C++语言中调用PHP/ZE提供的函数。本文就通过基于Embed SAPI实现一个PHP的opcodes查看器。...最后,记得要将生成的libphp5.so复制到运行时库的目录,我

    PHP编译安装中遇到的两个错误和解决方法

    结果在configure的时候提示 configure: error: Cannot find ldap libraries in /usr/lib 提示在/usr/lib 下找不到相关模块,这是因为64位的linux默认把以上文件都存在 /usr/lib64 文件夹下。 解决方法: 复制代码 ...

    AIX基本环境搭建.doc

    Discuz论坛AIX环境配置 主机系统:AIX5.3 数据库:Mysql5 WEB服务:Apache2+PHP5 ...# cp .libs/libphp5.so /usr/local/apache2/modules # cp php.ini-recommended /usr/local/apache2/conf/php.ini 不需要make install

    Apache启动提示错误undefined symbol: libiconv_open解决方法

    httpd: Syntax error on line 57 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol

    RHEL5.5 安装HTTP2.2、TOMCAT6、JDK1.6、MYSQL5.5、PHP5详细步骤和遇到的问题

    完整的REHL5.5下,TOMCAT6、http JDK1.6 MYSQL5.5 安装,已经安装中的几个问题,包括mysql5.5不能远程访问,libPHP5.so不能调用,freetype安装不成功,mysql密码修改等问题。都是精华集萃。

    zabbix安装配置文档

    53 LoadModule php5_module modules/libphp5.so 98 rverName 127.0.0.1:80 106 cumentRoot "/usr/local/apache2/htdocs/zabbix" 168 DirectoryIndex index.php index.html 311 AddType application/x-...

    IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年

    Windows.Server.2003.R2,Enterprise.Edition,SP2,x86,CHS,VOL,MSDN本次配置PHP的服务器环境:Windows2003+ IIS6+PHP5+MySQL3+Zend+phpMyAdmin整个配置过程需要是使用拥有管理员权限的系统帐号登录Windows在整个配置...

    UABNTU LAMP

    修改/etc/apache2/mods-enabled/php5.load去掉前的#,即表示装载此模块库LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 修改 /etc/apache2/mods-enabled/php5.conf 找到 #AddType application/x-...

    LAMP与LNMP优化与缓存加速

    LAMP是由Apache通过libphp5.so来调用PHP,LNMP是由Nginx通过fcgi(php-fpm)来调用PHP,两者的优化最后都是对PHP的优化,主要是针对一个主配置文件php.ini,Nginx可能还要对php-fpm.conf进行一下优化。

    MAC下通过改apache配置文件切换php多版本的方法

    前言 前段时间,在自己的电脑上升级了php,php7.0虽然有部分更新,速度也提升了不少,但最近在做微信开发时,发现很多引擎不支持...LoadModule php7_module /usr/local/php5/libphp7.so 这句配置复制下来,然后删掉

    PHP Markdown Lib

    PHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP Markdown LibPHP ...

    Mac OS下配置PHP+MySql环境

    #LoadModule php5_module libexec/apache2/libphp5.so 将前面的#号去掉。 然后打开系统偏好设置中的共享,将web共享勾上,如下图 重启apache, 命令如下: 复制代码 代码如下: sudo apachectl rest

    uwsgi-phpsgi:uWSGI 实验性插件,用于为 php 实现类似 WSGIPSGIRack 的接口

    debian/ubuntu 上)有 libphp5-embed 包,然后 uwsgi --build-plugin https://github.com/unbit/uwsgi-phpsgi用法 uwsgi --plugin phpsgi --http-socket :9090将从当前目录加载 app.php 并在每次请求时执行其“应用...

    ExerciceSOFTIA

    练习软件 我正在使用macOS。 要求:Apache服务器,PHP,MySQL... LoadModule php7_module libexec / apache2 / libphp7.so 修改后不要忘记重新启动Apache。 为了在终端(在Mac上)中使用MySQL,请输入以下命令: ec

Global site tag (gtag.js) - Google Analytics