在查看运行以下脚本的php页面后,我的Web浏览器中立即出现500内部服务器错误:
exec(“mysql -h db.server.com -u myuser -pmypass db <db.sql”);
mysql命令需要很长时间才能执行,因为db.sql是一个非常大的文件,需要时间将其发送到外部数据库服务器。 执行该命令时,共享主机服务上的所有其他php页面都会产生500内部服务器错误。
有没有办法摆脱500内部服务器错误,并有我的其他PHP页面运行? 有没有更好的方式来导入我的SQL文件?
让php程序将SQL文件保存到远程计算机上的临时位置,并运行一个cronjob,在该位置查找文件并将其吸收到MySQL中。
当文件开始上传的时候,还要设置php脚本在同一目录下创build一个文件,这样你就可以编写你的cronjob来忽略它,而不会在上传的时候尝试读取它。
你可以从一个shell而不是一个网页运行命令吗?