问题标签 [mod-php]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
863 浏览

apache - 如何根据apache+php_cgi和apache+mod_php配置不同的虚拟主机?

大家。

我有一个带有 Apache + mod_php 站点(site1.local)的 Cent OS 6.6 服务器。我需要用 php_cgi 配置第二个站点(site2.local)。因此,我创建了一个用户,授予他对 www 文件夹的权限,将 site1 配置为 mod_php,创建了一个 phpinfo.php。另外,我安装了 php-cgi,并尝试配置虚拟主机,仅适用于第一个站点,在第二个站点上是错误的:

那是我的配置: cat /etc/httpd/conf/httpd.conf

我做错了什么,我该如何解决?

0 投票
1 回答
313 浏览

apache - 如何从 mod_php 收集 php 指标?

作为 Drupal Web 应用程序及其基础设施性能测试的一部分,我在所有硬件和中间件砖上安装了传感器,但我不知道如何从 mod_php 收集 php 指标(apache 和 mod_php 之间的响应时间,...)。

谢谢您的帮助

0 投票
1 回答
1506 浏览

php - Mac homebrew apache 2.2 php5_module 分段错误

我一直在将我的 apache 实现从 Mac 的内置 apache 转移到使用 homebrew 安装的 apache。这进展顺利,但是当我去测试我的 PHP 驱动站点时,很明显 PHP 没有运行(apache 本身工作并提供 HTML,但 PHP 只是以纯文本形式存在于源代码中)。

我意识到我还没有在 apache 中启用 Homebrew 的 apache php5_module,所以我添加了:

LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so

到我的 httpd.conf 文件。我重新启动了 apache,然后事情变得非常有趣:

之后我的测试站点完全消失了,注释 php5_module 行带回 HTML 页面,但显然没有工作 PHP。有没有人知道这是怎么发生的,或者如何解决它?我看到了一些对 mod_perl 错误的引用,但我没有启用它。(我也不知道端口问题如何与此相关。)

此外,将 mod_php5 的路径更改为 libexec/apache2/libphp5.so 同样无效。

以下是一些技术细节:

Mac 操作系统版本:10.9.5

安装apache2.2:brew install -v httpd22 --with-brewed-openssl

PHP的安装:brew install -v php54 --homebrew-apxs --with-apache

apache加载的模块:

阿帕奇版本:

如果有什么有用的东西,我可以提供更多信息(我很感激有关如何找到该信息的说明,我的 Mac apache foo 不强......)谢谢大家!

更新:

存在的文件路径:

  • /usr/local/opt/php54/libexec/apache2/libphp5.so

不存在的文件路径:

  • /usr/local/opt/httpd22/libexec/mod_php54.so
  • /usr/local/opt/httpd22/libexec/libphp5.so
0 投票
2 回答
602 浏览

apache2 - apache2和mod_php组合什么时候重启apache2

有人可以告诉我必须在 apache2 和 mod_php 设置中重新启动 apache2 的情况吗?我们是否需要为每个代码部署重新启动 apache2?

我是新来的,对何时重新启动 apache2 感到困惑。

0 投票
2 回答
405 浏览

php - 基于 apache 服务器 API 的条件 .htaccess

我在使用 .htaccess 时遇到了问题,特别是更改了 include_path 值。在我的开发服务器上,PHP 作为一个模块运行,所以我可以使用:

现在,当我迁移到真实服务器时,PHP 以 CGI/FastCGI 运行,所以我的最后一个技巧不起作用,所以我学会了艰难的方法并使用 apache 处理程序让它全部工作,因此它加载了一个自定义 php.ini包含路径更改:

现在问题来了。对于每种情况,我都需要一个编码块,因此如果作为 CGI/FastCGI 执行,则它使用处理程序,如果作为模块执行,则使用 php_value。

为 fastcgi 找到了这个,但没有成功。

如果在这两种情况下都有另一种方法来更改 include_path ,而不取决于 PHP 的执行方式,并且不将其硬编码到代码中,那将是非常重要的。

0 投票
1 回答
5483 浏览

php - 在一台 Apache 服务器上的单独虚拟主机中运行 Apache mod_php 和 mod_fastcgi

所以,我需要在一台服务器上运行多个 php 应用程序/站点。一个或多个应该使用 apache 和 mod_php5 运行,一个或多个应该能够使用 mod_fastcgi 和 php-fpm 运行。mod_php5 目前很好,如果我禁用 mod_php5,fastcgi 可以工作,但我很难让它们同时工作。

我认为这可以在 apache 中使用 filesmatch、if.mod_fastcgi 和 if.mod_actions 的某种组合来实现,但我无法弄清楚它是什么。如果需要,我们可以安装执行此操作所需的任何 apache 模块。

如果 Apache 2.2 或更低版本的 vhost 有不同版本,并且您也有该片段,或者至少知道我应该做什么,那么超级奖励积分

我不会发布我拥有的所有虚拟主机,因为我知道它们是错误的,但是第一个默认的基于 mod_php 的虚拟主机看起来像这样......

理想情况下,我希望这些保持不变,如果我们需要更多这些,我们可以添加更多。

我想要的结果是能够使用类似于第一个配置的方式放入为 mod_php 配置的新虚拟主机,并且还可以放入如下所示的虚拟主机以实现快速 cgi。

如果您可以发布第二个虚拟主机,或者告诉我我做错了什么,非常感谢。

0 投票
0 回答
138 浏览

php - 使用 mod_php 覆盖在 Apache 上运行的 PHP 脚本中的 connect()

当通过 mod_php 启用 PHP 时,如何在 Apache 请求中覆盖从 PHP 脚本中调用的 connect() 系统调用?

我在custom-connect.c中定义了我的自定义 connect() 版本:

我编译它:

我有一个简单的脚本curl-test.php,它在内部调用了 connect():

当我从命令行使用 LD_PRELOAD 运行我的脚本时:

然后看起来不错,我可以看到我的自定义 connect() 将某些内容记录到/tmp/connect.log

看起来它在命令行中工作正常。但是,当我从 Apache 运行脚本并通过 mod_php 启用 PHP 时,如何用我自己的版本覆盖 connect()?我还应该使用 LD_PRELOAD 吗?如果是,那么如何配置呢?

0 投票
1 回答
1435 浏览

php - Detect support for php_value / php_flag in .htaccess to suppress errors - PHP CGI mode - mod_php

I use php_value and php_flag rules in .htaccess such as:

But this causes an error when the server is running in CGI mode instead of Apache mode, and instead I have to use php.ini rules such as:

My code libraries needs to work for either mode, without manual changes for each server.

It took me a while to find a solution to allow both methods to be in place, and as it was hard to find I thought I'd post my solution here.

0 投票
1 回答
935 浏览

apache - Centos 6.7 为 Apache 安装 PHP 模块

我正在使用 vagrant build vm 并尝试安装 mod_php。

yum install mod_php ..... 错误:php70u-common 与 php-common-5.6.17-1.el6.remi.x86_64 冲突 错误:httpd24u 与 httpd-2.2.15-47.el6.centos.1.x86_64 冲突错误:httpd24u-tools 与 httpd-tools-2.2.15-47.el6.centos.1.x86_64 冲突

我猜他试图下载 php 7 的模块?如何为 php 5.6 安装它?

0 投票
1 回答
1743 浏览

php - 没有 mod_php?14.04 / ondrej php5.6 + ondrej apache2

试图获得一个运行 PHP 5.6 的 14.04 机器,但在 apache 中启用 PHP 时遇到问题。具体来说,似乎不再安装 mod_php 了?

a2enmod不列出phpor mod_php,并locate php.ini输出:

但是,在apache 提供<?php phpinfo();的服务中包含 a 不会被处理。index.php

帮助表示赞赏!