PHP警告:在MySQL转储到macOS终端后,"MySQL服务器已经消失"

use*_*177 5 php mysql macos mysqli dump

我使用CLI的PHP脚本下载远程MySQL数据库(gzip)并将它们直接提取到我的MacBook的MySQL 5.7(不是MAMP)服务器.它工作正常,但作为副作用,我的PHP应用程序(MAMP Pro)在CLI脚本中间丢失了MySQL连接并带有警告

PHP Warning:  mysqli::__construct(): MySQL server has gone away in ...
Run Code Online (Sandbox Code Playgroud)

这种情况发生在十几个数据库(无法重现确切数量)之后.在CLI脚本运行时,系统首选项中的MySQL窗格从每次CLI转储后的绿色/运行变为红色/停止再次变为绿色/运行,这首先与浏览器中的PHP应用程序不冲突.但在某些时候,PHP应用程序显然失去了连接.

我和my.cnf一起玩了

[mysqld]
max_allowed_packet=128M
max_connections=1024
Run Code Online (Sandbox Code Playgroud)

或其他金额,但似乎没有任何改变.

当我在CLI脚本完成后在"系统偏好设置"中手动停止并启动MySQL时,PHP将继续正常工作.

有任何想法吗?

编辑:

谢谢到目前为止,但它仍然没有修复.所以这是主要的脚本:

$tmpPath = '/tmp/'

For each of 30 databases with different size:

$dbName = database name

exec('ssh user@server.com "mysqldump --login-path=local --lock-tables=false '.$dbName.' | gzip" > '.$tmpPath.$dbName.'.sql.gz');
exec('gzip -q -dc '.$tmpPath.$dbName.'.sql.gz | mysql -u root -proot '.$dbName)
Run Code Online (Sandbox Code Playgroud)

就像我说的,终端中的PHP CLI脚本根本不会抱怨!这是我的PHP 应用程序(Angular前端应用程序的后端),由于上述错误,30个转储中间某处停止工作.