问题标签 [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 回答
1887 浏览

php - Apache 在大文件上传时重置连接(?)

我有一个网站,以前可以上传大文件(大文件大于 10 或 20mb),但现在不能了。在这一点上,我已经调试了几个小时。

所有 php 值都设置得高得离谱:

我也在TimeOut 600httpd.conf 中设置了。

本质上,如果我将一个大文件添加到上传字段,它永远不会上传。我可以看到 chrome 左下角的“正在上传(1%)...”,显示文件开始上传。它会向上计数,有时甚至达到 100%,然后从 0 重新开始并再次开始计数,最终以 ERR_CONNECTION_RESET 消息失败。

最终失败似乎发生在随机时间后,有时是 24 秒,有时是 3 分钟。

我尝试了一个 170mb 的文件,它在重新启动之前总是会达到 16 %17%。这总是需要大约 22 秒。然后,它将在 0 处重新启动并再次计数到 16 或 17%,然后再次重新启动。有时在重新启动一次后,有时在重新启动 4 或 5 次后,它最终会失败并显示 ERR_CONNECTION_RESET 消息。

我还尝试了一个 30mb 的文件。在重新启动之前,这个总是会达到 100% 左右。

df -h 显示剩余的大量文件空间,我能够通过 SFTP 上传文件,确认确实有足够的硬盘空间。

文件也可以在我的开发服务器上使用完全相同的应用程序上传,因此我可以排除任何应用程序问题。

较小的文件也可以在生产服务器上正常上传,我尝试过大到 3 或 5mb 的文件,没有问题。

我能够执行如下代码:

生产没有任何问题,所以它不会超时所有请求,只有上传。

我尝试了多个浏览器,这发生在多个客户端位置。

我可以在 /var/log/httpd 中找到的任何日志中都没有错误。

我没有运行 mod security。在我的应用程序中,没有任何 php 设置被覆盖。这是一个非常标准的 apache 和 php 安装。

生产服务器是运行 Apache/2.4.39 的 Amazon Linux,我在 php 7.1 和 php 7.2 上进行了尝试,得到了相同的结果,都使用了 mod_php。

我已经进入了这个问题的“撞墙”阶段。有谁知道我可以做些什么来调试它?

0 投票
0 回答
84 浏览

php - 即使 PHP 文件被删除,Apache 也会永远加载

我们有一个网站,在某些情况下会崩溃,页面是空白的并且永远加载。

我不明白的是,一旦发生崩溃,我可以关闭浏览器,从文件系统中物理删除 index.php,然后将新的浏览器会话(在不同的浏览器中)指向该 URL,它仍然会永远加载而不是给出 404 错误。

没有访问或错误日志条目,dmesg 中没有任何内容等。

奇怪的是,即使重新启动 Apache 也不能解决问题,因此看起来并不是 Apache 进程将事情锁定了。

我想知道是否有人经历过这样的事情,并且知道可能是什么原因?

0 投票
1 回答
654 浏览

php - 使用 php-fpm 增加 upload_max_filesize 作为 phpmyadmin 的独立设置

有没有办法使用 php-fpm 将 phpmyadmin 中的 upload_max_file_size 作为独立的 php.ini 增加?phpmyadmin 是否支持独立的 php.ini?

使用 mod_php 时,我可以在 .htaccess 中使用以下配置:

它工作正常,但是在使用 php-fpm 时,无法使用 php_value 并会触发错误。错误示例:

使用 php-fpm 时,我知道我可以在这里编辑全局设置:

但这种变化也会影响其他应用程序。所以,我的问题是,有没有办法在使用 php-fpm 时将 upload_max_filesize 增加为 phpmyadmin 的独立设置?大多数在线答案都建议编辑上述 php.ini 文件,但我只希望它是 phpmyadmin 的独立设置。

谢谢你。

0 投票
1 回答
232 浏览

php - Apache+mod_php 太慢了

我在使用 mod_php 设置 Apache 服务器时遇到问题。我有一个网站,其 index.php 页面在 ~200 毫秒内生成。但是 Apache 在大约 1.5 秒内提供它。为什么会出现这种放缓?

如果需要,我的/etc/apache2/ports.conf文件是:

我的文件/etc/apache2/sites-available/mysite.local.conf是:

我的主要问题是为什么这么慢,如何让它更快?我已经测试过将 index.php 内容放入一个普通的 html 文件中,并且在大约 10 毫秒内提供服务。所以问题可能出在 mod_php 上?提前致谢。

0 投票
1 回答
45 浏览

php - 检测 fastCGI 是否在远程服务器上运行

我得到的几乎每个答案都涉及 phpinfo(),这对我没有帮助。

我有一个用于基于 PHP 的服务器的 SDK,它使用基本身份验证(承载令牌/秘密内容)。但是,当服务器运行 fastCGI 时,SDK 需要将 auth 作为查询参数发送。

向SDK添加手动切换并不难,但我想知道SDK(用Swift编写)是否有办法在服务器端检测fastCGI。

我应该注意我还编写了服务器,所以我可以添加对查询的响应,标记 fastCGI。不过,这似乎有点“杂乱无章”。

有没有办法确定远程服务器是否正在运行 fastCGI?

0 投票
0 回答
43 浏览

php - 在 HTTP/2 更新后解析 HTML 文件中的 PHP 不起作用

问题

由于与此处无关的原因,我需要解析非常有限的 PHP 内部文件,扩展名为 .html。我通过添加AddHandler application/x-httpd-php .html .htm到我的 .htaccess 文件来完成此操作。然而,我最近更新了我的服务器以满足 HTTP/2 协议要求,现在似乎我嵌入到我的 .html 文件中的 php 标记被注释掉了。

理论

我猜这与我已经从mod_php配置切换到配置有关PHP-FPM。在研究这个看起来我需要“设置”一个处理程序来使用代理。也许是这样的:SetHandler "proxy:fcgi://127.0.0.1:9000"?但是,如果这是解决方案,我真的不明白为什么;我也不明白为什么它会是一个环回 IP 地址。

旁注:我也有 xDebug 监听端口 9000,但如有必要,我可以更改它。

0 投票
1 回答
161 浏览

php - 使用 .htaccess 将 memory_limit 设置为 PHP FPM

我需要在 htaccess 中修改 php 的 memory_limit 、 max_input_vars 和 max_execution_time 。为了不修改服务器上php的全局配置。

在我的虚拟主机中,我有这样的配置:

在我的 htaccess 中,我测试了这两个配置但没有成功:

在 的情况下php7.3-fpm.sock,我必须以其他方式使用它吗?

谢谢