[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

phpMyAdmin出现504网关超时怎么办

当尝试从 phpMyAdmin 导入 SQL 时,您可能会收到 504 超时错误。
这次,我们将为那些希望在这种情况下从 phpMyAdmin 导入的人介绍一种解决方法。

解决方案1.文件大小问题

/etc/php.ini中编辑以下 3 项

  1. 最大可上传文件大小
    upload_max_filesize = 512M
  2. 可POST的数据最大值
    post_max_size = 512M
  3. 脚本可以分配的最大内存
    memory_limit = 512M

此时请注意,上述数值有如下关系。
upload_max_filesize < post_max_size < 内存限制

请注意,根据 Web 中间件的不同,反映 php.ini 中设置的方式也有所不同!

  • Apache:重新启动后反映
  • nginx:重新加载php-fpm设置即可生效
$ /etc/init.d/php-fpm 重新加载

如何检查是否反映

如果在phpMyAdmin导入的文件选择中写入以下内容就OK了!

(最大:512MiB)

84cff65af46ba186825421a13f8cf07c

解决方案2. 时间是个问题。

这是延长时间直至超时的解决方法。

php.ini 中有一个名为 max_execution_time 的项目。让我们改变这个值。

max_execution_time 设置脚本被解析器强制终止之前的时间 (*)。
此设置是为了防止长脚本给服务器带来负载。
单位是秒,设置为0表示没有时间限制。
(*解析器:分析脚本语法并将其转换为程序可以处理的数据结构集合的程序)

参考:
http://php.net/manual/ja/info.configuration.php#ini.max-execution-time
http://e-words.jp/w/%E3%83%91%E3%83% BC%E3%82%B5.html

设置示例

*我认为不仅设置 max_execution_time 还设置其他设置会更好。

  • php.ini
    最大执行时间 = 300
  • php-fpm.conf
    request_terminate_timeout 300
  • nginx.conf
    fastcgi_read_timeout 300

request_terminate_timeout是处理单个请求的超时设置。过了这个时间,工作进程就会被杀死。 如果“max_execution_time”ini 选项由于某种原因无法停止脚本运行,则使用此选项。 值“0”表示“关闭”。可用单位:s(秒)(默认)、m(分钟)、h(小时)或 d(天),默认值:0

参考:
http://php.net/manual/ja/install.fpm.configuration.php#request-terminate-timeout

fastcgi_read_timeout 设置 FastCGI 响应读取超时。 它决定了等待 nginx 请求响应的时间。 60(秒)是默认值。

参考:
http://server-setting.info/centos/nginx-fastcgi-cache.html

设置的反映

对于Apache,需要重新启动以使设置生效。

$ 服务 httpd 重新启动

对于 nginx,设置是使用 reload settings 命令反映的。

$ 服务 php-fpm 重新加载 $ 服务 nginx 重新加载

顺便一提

如果您在进行这些设置后遇到以下错误,请检查您的 phpMyAdmin 设置。

超过 300 秒的最大执行时间...

更改phpMyAdmin配置文件(/path/to/phpmyadmin/libraries/config.default.php)中的以下值。

/** * 最大执行时间(以秒为单位)(0 表示无限制) * * @global integer $cfg['ExecTimeLimit'] */ $cfg['ExecTimeLimit'] = 300;

单位是秒,0表示无限制。

另外,max_execution_time只是php脚本的处理时间,不包括访问DB时直到返回响应的等待时间。
如果超时是由于线路速度造成的,请增加 mysql.connect_timeout。

mysql.connect_timeout
连接有效时间(单位:秒)。在Linux上,该有效时间也用作等待服务器第一次响应的时间。

额外的

这可以通过更改数据更改方式而不更改设置来实现。

删除数据的过程似乎很繁重,因此
如果要删除大量数据,使用 truncate 全部删除然后稍后仅重新插入必要的数据似乎更快。

如果您觉得这篇文章有帮助,请点赞!
2
加载中...
2 票,平均:1.00 / 12
15,380
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者