phpMyAdmin 'No Data Received' / Empty Page on Import
The import screen returns a blank page, ERR_EMPTY_RESPONSE, or 'no data received'. What's crashing and how to get the import through.
You hit Go on the import and get a blank page, 'No data received', or ERR_EMPTY_RESPONSE. The request died before PHP could return anything — so there's no error message to read. Here's what actually happened.
What 'no data received' really means
The PHP process handling your import was killed mid-request — by a memory limit, an execution timeout, or the web server's own timeout — before it could send a response. The browser sees the connection close with nothing returned and shows a blank page.
Fix the three limits, in order
- memory_limit — a big import can exhaust PHP's RAM. Raise to 512M+
- max_execution_time and max_input_time — raise to 600 so PHP doesn't get killed mid-import
- Web server timeout — Apache's Timeout or Nginx's proxy/fastcgi_read_timeout can cut the request even when PHP is configured generously
memory_limit = 512M
max_execution_time = 600
max_input_time = 600
upload_max_filesize = 256M
post_max_size = 256MEven with PHP set to 600s, Nginx will return an empty/502 response if fastcgi_read_timeout is the default 60s. Raise it in the server block, then reload Nginx.
The fix that works without touching server config
If you can't edit php.ini or the web server (typical on shared hosting), make each import small enough to finish well inside the limits. Split the dump into chunks and import them one at a time — each request stays short and never gets killed.
Split until each import is quick
Smaller chunks finish before any timeout fires — no blank pages.
Open SQLSplitOr use phpMyAdmin's UploadDir
phpMyAdmin can import a file already sitting on the server instead of via HTTP upload. Set $cfg['UploadDir'] in config.inc.php, drop the .sql there via FTP, and it appears in a dropdown on the import screen — sidestepping upload limits entirely.
Frequently Asked Questions
Why does phpMyAdmin show a blank page when I import?
The PHP process was killed mid-import by a memory limit, execution timeout, or the web server's own timeout, so no response was returned. Raise memory_limit, max_execution_time, and the Apache/Nginx timeout, or split the file into smaller imports.
How do I fix ERR_EMPTY_RESPONSE during a SQL import?
It means the server closed the connection before responding, usually a timeout or out-of-memory kill. On Nginx, raise fastcgi_read_timeout; on Apache, raise Timeout. The simplest workaround is importing smaller chunks that finish quickly.
Can I import without uploading through the browser in phpMyAdmin?
Yes. Set $cfg['UploadDir'] in config.inc.php, upload the .sql file there via FTP, and select it from the dropdown on the import page. This avoids HTTP upload size and timeout limits.