Я нашел это похожее вопрос здесь на serverfault, но ответы там не охватывают мой случай (что я могу сказать).
На некоторой [очевидно] случайной основе Firefox (единственный браузер, который я пробовал) будет пытаться загрузить страницу PHP, а не "загрузить" ее.
Часто закрытие диалогового окна загрузки / открытия и повторный щелчок по ссылке заставляют его работать правильно. Иногда мне нужно отскочить от Apache.
Это раздражает не только меня, но и других пользователей моего сервера. Есть идеи, что может быть причиной этого?
top
:(mysqld
работает от 1% до 190% на этом сервере, но я не заметил корреляции между его всплесками и колебаниями Apache в отношении того, предлагать ли страницу PHP для «открытия» и просто запускать ее как следует.)
top - 15:37:38 up 44 days, 10:17, 1 user, load average: 0.11, 0.37, 0.43
Tasks: 39 total, 2 running, 37 sleeping, 0 stopped, 0 zombie
Cpu0 : 94.6% us, 5.4% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu1 : 94.9% us, 5.1% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 1474560k total, 1464856k used, 9704k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3698 mysql 15 0 124m 28m 4348 S 187.0 1.9 5:26.25 mysqld
11286 root 15 0 3552 880 656 S 1.6 0.1 83:31.36 dovecot
1 root 15 0 1652 608 520 S 0.0 0.0 3:19.89 init
3622 root 15 0 21220 8992 5524 S 0.0 0.6 0:00.17 httpd
3651 root 19 0 2124 1040 888 S 0.0 0.1 0:00.00 mysqld_safe
3709 apache 15 0 41464 27m 4104 S 0.0 1.9 0:03.21 httpd
3728 apache 16 0 44008 29m 4276 S 0.0 2.1 0:07.59 httpd
3853 apache 16 0 44568 30m 4244 S 0.0 2.1 0:08.38 httpd
3869 apache 15 0 35084 20m 3040 S 0.0 1.4 0:01.82 httpd
9580 root 23 0 1548 576 492 S 0.0 0.0 0:00.00 udevd
9811 apache 15 0 32736 17m 2808 S 0.0 1.2 0:00.22 httpd
10042 root 15 0 1552 528 440 S 0.0 0.0 0:28.87 syslogd
10047 root 22 0 1492 372 308 S 0.0 0.0 0:00.00 klogd
10065 named 18 0 47508 2876 1920 S 0.0 0.2 0:37.05 named
10123 root 15 0 4068 1144 840 S 0.0 0.1 0:08.00 sshd
10137 root 18 0 2112 756 632 S 0.0 0.1 0:00.00 xinetd
11350 root 15 0 2632 1052 532 S 0.0 0.1 0:20.59 crond
11362 root 15 0 6404 2140 1072 S 0.0 0.1 3:11.85 dovecot-auth
11383 xfs 18 0 3172 1476 768 S 0.0 0.1 0:01.21 xfs
11401 root 16 0 1720 452 344 S 0.0 0.0 0:03.66 atd
11411 root 18 0 4092 804 576 S 0.0 0.1 0:00.00 saslauthd
11412 root 18 0 4092 468 240 S 0.0 0.0 0:00.00 saslauthd
11435 root 18 0 7344 5388 1628 S 0.0 0.4 1:41.01 miniserv.pl
11935 root 15 0 6944 2240 1804 S 0.0 0.2 0:00.01 sshd
11938 datente 15 0 7092 1520 1068 R 0.0 0.1 0:00.00 sshd
11939 datente 15 0 2176 1312 1052 S 0.0 0.1 0:00.00 bash
12005 datente 15 0 1912 992 788 R 0.0 0.1 0:00.00 top
12161 root 15 0 11164 480 336 S 0.0 0.0 0:00.00 vzctl
12162 root 17 0 2184 1292 1068 S 0.0 0.1 0:00.01 bash
13574 root 15 0 7380 2016 992 S 0.0 0.1 0:01.88 sendmail
13583 smmsp 18 0 6528 1640 828 S 0.0 0.1 0:00.00 sendmail
20230 datente 18 0 2748 1224 712 S 0.0 0.1 0:00.07 screen
20231 datente 15 0 2316 1344 1060 S 0.0 0.1 0:00.00 bash
20264 datente 26 10 1132m 2884 844 S 0.0 0.2 13:50.31 fah6
23843 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:06.58 imap-login
23845 dovecot 15 0 3552 1528 1268 S 0.0 0.1 4:07.76 imap-login
23847 dovecot 15 0 3556 1536 1272 S 0.0 0.1 4:09.06 imap-login
23899 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:07.39 imap-login
23963 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:06.99 imap-login
Если PHP правильно настроен в Apache и клиент работает правильно, сценарий PHP может не указывать правильный тип MIME для вывода содержимого. В Content-type
часто приходится распечатывать, чтобы браузер понимал, как обрабатывать данные.
Какое содержимое пытается загрузить Firefox?
Вы можете попробовать загрузить свой сервер (если он не производственный или у вас есть тестовая копия) с помощью Apache Jarkarta Jmeter http://jakarta.apache.org/jmeter/index.html
На то, чтобы понять это, уходит около получаса, если вы никогда не использовали его, но его довольно просто использовать. Вы можете делать сотни запросов и просматривать информацию, возвращаемую вашим сервером, и даже отображать страницы, если хотите. Это может позволить вам определить корреляции, будь то проблемы с загрузкой, случайными или неправильными заголовками \ mime.
Это замечательный инструмент, который можно использовать для диагностики во время загрузки.
Вы предварительно сжимаете свою страницу, а затем разрешаете mod_deflate повторно сжать? Проблема, с которой вы столкнулись, заключается в том, что Firefox не получил Content-length: bytes от сервера и поэтому рассматривает его как частичную загрузку. Используя live-http-headers, вы увидите, что у него действительно есть text / html в качестве типа содержимого, а при сохранении файла действительно отображается правильно отображаемый контент меньше нескольких байтов. Кодирование по фрагментам также может вызвать проблему, если в содержимом содержится правильное количество байтов.
Проблема возникает, когда Firefox обнаруживает короткую загрузку либо из-за тайм-аута, либо из-за проблемы с закрытым соединением (через sigkill и т. Д.).
Предположение новичка Уорнера о том, что тип контента установлен неправильно, просто показывает, что он не имеет дела с большим объемом веб-трафика. Я чаще замечал такое поведение в 2.2.14 / 2.2.15, поэтому мы перенесли несколько патчей на 2.2.12.