Я новичок в PHP. У меня есть php скрипт, который хранит данные формы в MySql v5.6
верстаке.
Для однократной отправки это работает очень хорошо, однако, если более 20 человек одновременно нажимают кнопку отправки, ни один из запросов не обрабатывается!
Я проверил файл журнала, изначально у меня была следующая ошибка:
mysqli::__construct(): (HY000/2002): Only one usage of each socket address (protocol/network address/port) is normally permitted.\r\n in C:...\\DBConfig.php on line 16
Затем я сослался на этот пост MySQL / PHP Ошибка: [2002] Только одно использование каждого адреса сокета (протокола / сетевого адреса / порта) обычно разрешено и вносит изменения в реестр.
После внесения изменений в реестр у меня больше не возникает вышеуказанная ошибка, но многие пользователи по-прежнему не могут одновременно отправлять данные формы.
Я снова проверил файл журнала, он говорит: PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:...\\DBConfig.php on line 16, followed by the error "PHP Fatal error: Uncaught Error: Call to a member function create() on null
Метод create()
написан на другом скрипте, который, я считаю, не работает из-за максимального времени выполнения.
Я хочу знать, как разрешить нескольким пользователям (около 500) одновременно отправлять данные одновременно.
Я использую Apache 2.4 для windows server 2012 r2 (8 ГБ ОЗУ), php 7, я использую сессии во всех моих скриптах. Я также изменил max_execution_time на 300 в php .ini, хотя я не знаю, будет ли это работать около 500 пользователей. Пожалуйста, помогите.
Мой класс DBConfig (я удалил параметры соединения):
(...)
protected $connection;
public function __construct()
{
if (!isset($this->connection)) {
$this->connection = new mysqli($this->_host, $this->_username, $this->_password, $this->_database); //Line 16
mysqli_set_charset($this->connection, "utf8");
if (!$this->connection) {
echo 'Cannot connect to database server';
exit;
}
}
return $this->connection;
}