有关于php安装的问题 6. ./configure --enable-module=so 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Apache 服务器本节包括 Apache 下安装 PHP 的说明和提示,包括 Unix 和 Windows 版本。 Unix 下的 Apache 中安装 PHP 的详细资料你可以根据完整配置选项列表在以下第 10 行中加入你选择的参数。这里把具体版本号略去了以确保本说明的不会出错。你需要把下面的 'xxx' 替换成你得到的文件中确切的数值。 例子 3-5. PHP 4 的 Apache 共享模块版本安装说明 1. gunzip apache_xxx.tar.gz2. tar -xvf apache_xxx.tar3. gunzip php-xxx.tar.gz4. tar -xvf php-xxx.tar5. cd apache_xxx6. ./configure --prefix=/www --enable-module=so7. make8. make install9. cd ../php-xxx10. ./configure --with-mysql --with-apxs=/www/bin/apxs11. make12. make install 如果在安装之后你决定修改配置选项,那么只需重复以上最后三步。 只须重新启动 Apache 就可以使新模块生效。不需要重新编译 Apache。13. cp php.ini-dist /usr/local/lib/php.ini 你可以编辑 php.ini 来设置 PHP 选项。如果你想把 php.ini 放在 其它目录,在第 10 步加上以下选项: --with-config-file-path=/path14. 编辑 httpd.conf 或者 srm.conf 文件,确认以下两行存在并且没有被注释: AddType application/x-httpd-php .php LoadModule php4_module libexec/libphp4.so 你可以在这里使用任何后缀。.php 只是我们建议的一个。你甚至可以 加上 .html 以及 .php3 以确保向下兼容。 在 LoadModule 语句右边的路径必须指向你的 PHP 模块所在的路径。 如果按照以上步骤进行那么上面的语句是正确的。15. 用你通常的过程启动 Apache。(你必须完全停止 Apache 再重新启动, 而不是用 HUP 或者 USR1 信号使 Apache 重新加载。) 根据你的 Unix 系统和 Apache 安装方法的不同,有很多方法停止和重启动 Apache。以下是一些不同的 Apache/Unix 下重启动 Apache 的典型命令。你需要把 /path/to/ 替换成你系统上的确切路径。 1. 在一些 Linux 和 SysV 的变种下:/etc/rc.d/init.d/httpd restart2. 使用 apachectl 脚本:/path/to/apachectl stop/path/to/apachectl start3. httpdctl 和 httpsdctl(使用了 OpenSSL),类似 apachectl:/path/to/httpsdctl stop/path/to/httpsdctl start4. 使用了 mod_ssl,或其他 SSL 服务器,你可能需要手工重启动:/path/to/apachectl stop/path/to/apachectl startssl apachectl 和 http(s)dctl 程序所在的路径在不同系统中通常不一样。如果你的系统中有 locate 或者 whereis 或者 which 命令,那么可以帮你找到这些控制程序。 编译 PHP 和 Apache 的不同例子还有: ./configure --with-apxs --with-pgsql 这个配置将生成在 Apache 的 httpd.conf 文件中用 LoadModule 加载的 libphp4.so 共享库。而 PostgreSQL 支持将嵌入到 libphp4.so 库中。 ./configure --with-apxs --with-pgsql=shared 这个配置将生成 Apache 的 libphp4.so 共享库,并且还生成 pgsql.so 共享库,可以在 php.ini 文件中用 extension 指令加载,或者在 PHP 脚本中用 dl() 函数明确地加载。 ./configure --with-apache=/path/to/apache_source --with-pgsql 这个配置将生成 libmodphp4.a 库,mod_php4.c 和一些相关的文件并且拷贝到 Apache 源程序目录中的 src/modules/php4 目录下。然后用 --activate-module=src/modules/php4/libphp4.a 编译 Apache,Apache 编译系统会生成 libphp4.a 并且将其静态地连接到 httpd 程序中。PostgreSQL 支持也直接包括在这个 httpd 程序中了,因此最终结果是单一的一个包括了所有 Apache 和 PHP 支持的 httpd 可执行文件。 ./configure --with-apache=/path/to/apache_source --with-pgsql=shared 这个配置和上面一样 - 除了没有在最后的 httpd 可执行文件中包括 PostgreSQL 的支持以及生成了一个 pgsql.so 共享库以外。该共享库可以在 php.ini 文件中或者用 dl() 函数加载。 当选择不同的方法编译 PHP 时,需要考虑每种方法的优势和缺点。用共享对象方式编译 PHP 意味着可以单独编译 Apache,并且不用在添加或修改了 PHP 的时候重新编译所有程序。用内置方法编译 PHP(静态方式)意味着 PHP 可以加载和运行得更快。更多信息见 Apache 的 DSO 支持页面。 注: Apache 默认的 httpd.conf 文件中目前包括类似如下的内容: User nobodyGroup "#-1" 除非你把它修改成“Group nogroup”或者其它类似的(“Group daemon”也很通用),PHP 将不能打开文件。 注: 确认在使用 --with-apxs=/path/to/apxs 时指向 Apache 安装后的目录中的 apxs。绝对不能用 Apache 源程序中的 apxs 而要用安装后的 apxs。 PHP+txt 显示出来就行了 求PHP码 php如何打开修改html,php之类的文件? 关于str_replace()函数的问题,忘高手解答,谢谢 请问动网论坛中的附件怎么删除啊? 一年多没来发贴了,发个贴,找点小单子做。 安装PHP中的问题,选择什么Web Server不太清楚? 关于数据库操作的写法 如何弹出数组中指定的成员 谁能帮我说说radius的执行过程?多谢了 写一个微信链接的正则验证 苦恼:如何实现不新开浏览器而向服务器提交一段脚本去执行一段代码? mail的问题
本节包括 Apache 下安装 PHP 的说明和提示,包括 Unix 和 Windows 版本。 Unix 下的 Apache 中安装 PHP 的详细资料
你可以根据完整配置选项列表在以下第 10 行中加入你选择的参数。这里把具体版本号略去了以确保本说明的不会出错。你需要把下面的 'xxx' 替换成你得到的文件中确切的数值。 例子 3-5. PHP 4 的 Apache 共享模块版本安装说明 1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. ./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install 如果在安装之后你决定修改配置选项,那么只需重复以上最后三步。
只须重新启动 Apache 就可以使新模块生效。不需要重新编译 Apache。13. cp php.ini-dist /usr/local/lib/php.ini 你可以编辑 php.ini 来设置 PHP 选项。如果你想把 php.ini 放在
其它目录,在第 10 步加上以下选项:
--with-config-file-path=/path14. 编辑 httpd.conf 或者 srm.conf 文件,确认以下两行存在并且没有被注释:
AddType application/x-httpd-php .php LoadModule php4_module libexec/libphp4.so
你可以在这里使用任何后缀。.php 只是我们建议的一个。你甚至可以 加上 .html 以及 .php3 以确保向下兼容。
在 LoadModule 语句右边的路径必须指向你的 PHP 模块所在的路径。 如果按照以上步骤进行那么上面的语句是正确的。15. 用你通常的过程启动 Apache。(你必须完全停止 Apache 再重新启动, 而不是用 HUP 或者 USR1 信号使 Apache 重新加载。)
根据你的 Unix 系统和 Apache 安装方法的不同,有很多方法停止和重启动 Apache。以下是一些不同的 Apache/Unix 下重启动 Apache 的典型命令。你需要把 /path/to/ 替换成你系统上的确切路径。
1. 在一些 Linux 和 SysV 的变种下:
/etc/rc.d/init.d/httpd restart2. 使用 apachectl 脚本:
/path/to/apachectl stop
/path/to/apachectl start3. httpdctl 和 httpsdctl(使用了 OpenSSL),类似 apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start4. 使用了 mod_ssl,或其他 SSL 服务器,你可能需要手工重启动:
/path/to/apachectl stop
/path/to/apachectl startssl
apachectl 和 http(s)dctl 程序所在的路径在不同系统中通常不一样。如果你的系统中有 locate 或者 whereis 或者 which 命令,那么可以帮你找到这些控制程序。 编译 PHP 和 Apache 的不同例子还有:
./configure --with-apxs --with-pgsql
这个配置将生成在 Apache 的 httpd.conf 文件中用 LoadModule 加载的 libphp4.so 共享库。而 PostgreSQL 支持将嵌入到 libphp4.so 库中。 ./configure --with-apxs --with-pgsql=shared
这个配置将生成 Apache 的 libphp4.so 共享库,并且还生成 pgsql.so 共享库,可以在 php.ini 文件中用 extension 指令加载,或者在 PHP 脚本中用 dl() 函数明确地加载。 ./configure --with-apache=/path/to/apache_source --with-pgsql
这个配置将生成 libmodphp4.a 库,mod_php4.c 和一些相关的文件并且拷贝到 Apache 源程序目录中的 src/modules/php4 目录下。然后用 --activate-module=src/modules/php4/libphp4.a 编译 Apache,Apache 编译系统会生成 libphp4.a 并且将其静态地连接到 httpd 程序中。PostgreSQL 支持也直接包括在这个 httpd 程序中了,因此最终结果是单一的一个包括了所有 Apache 和 PHP 支持的 httpd 可执行文件。 ./configure --with-apache=/path/to/apache_source --with-pgsql=shared
这个配置和上面一样 - 除了没有在最后的 httpd 可执行文件中包括 PostgreSQL 的支持以及生成了一个 pgsql.so 共享库以外。该共享库可以在 php.ini 文件中或者用 dl() 函数加载。 当选择不同的方法编译 PHP 时,需要考虑每种方法的优势和缺点。用共享对象方式编译 PHP 意味着可以单独编译 Apache,并且不用在添加或修改了 PHP 的时候重新编译所有程序。用内置方法编译 PHP(静态方式)意味着 PHP 可以加载和运行得更快。更多信息见 Apache 的 DSO 支持页面。 注: Apache 默认的 httpd.conf 文件中目前包括类似如下的内容:
User nobody
Group "#-1"
除非你把它修改成“Group nogroup”或者其它类似的(“Group daemon”也很通用),PHP 将不能打开文件。 注: 确认在使用 --with-apxs=/path/to/apxs 时指向 Apache 安装后的目录中的 apxs。绝对不能用 Apache 源程序中的 apxs 而要用安装后的 apxs。