mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen. Verbindung ging an localhost - also über socket, nicht port.
**Zweiter Test:**
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
Ergebnis wie oben. Manuell abgebrochen.
In allen beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Dritter und vierter Test nicht zum localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch spätestens bei knapp 30.000 (beide!), sehr viel früher wenn ich die Skripte direkt nacheinander neu starte. [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.](https://support.microsoft.com/de-de/kb/196271)- Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen. Verbindung ging an localhost - also über socket, nicht port.
**Zweiter Test:**
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
Ergebnis wie oben. Manuell abgebrochen.
In allen beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Dritter und vierter Test nicht zum localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.](https://support.microsoft.com/de-de/kb/196271)- Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen. Verbindung ging an localhost - also über socket, nicht port.
**Zweiter Test:**
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
In allen beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Dritter und vierter Test nicht zum localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.](https://support.microsoft.com/de-de/kb/196271)- Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen. Verbindung ging an localhost - also über socket, nicht port.
**Zweiter Test:**
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
In allen beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Dritter und vierter Test nicht zum localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.
](https://support.microsoft.com/de-de/kb/196271) Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen. Verbindung ging an localhost - also über socket, nicht port.
Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
In beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.
](https://support.microsoft.com/de-de/kb/196271) Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 manuell abgebrochen.
Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
[x] geht, bei ca. 50.000 abgebrochen.
In beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.
](https://support.microsoft.com/de-de/kb/196271) Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht. Das Problem ist entweder sehr akademisch oder Du hast ein heftiges Problem mit dem Konzept. Erstens die hohe Anzahl der Abfragen (vermutlich nutzt Du keine Joins) und erst recht der Verbindungen. Die kann man mehrfach nutzen.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):
[x] geht, bei ca. 50.000 manuell abgebrochen.
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
[x] geht, bei ca. 50.000 abgebrochen.
In beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.
](https://support.microsoft.com/de-de/kb/196271) Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz
mysqli::query(): Couldn't fetch mysqli
bearbeitet von Jörg ReinholzMoin!
> Bis etwa 580 wiederholungen ist alles tutti und funktioniert so wie es soll.
> Zuerst dachte ich, dass ich an irgendeiner Stelle die Datenbankverbindung innerhalb der schleife nicht richtig schließe. Aber puste-kuchen, hab "sauber" gearbeitet.
Soll heißen, Du baust in einem PHP-Skript 580 x mal die Datenbankverbindung auf und wieder ab. Und wunderst Dich, dass dabei ein Problem entsteht.
Ich habe gerade eben mit php 7.0.3 (PHP 7.0.3-9+deb.sury.org~trusty+3) beides getestet:
~~~php
<?php
$i=0;
while (0) {
$mysqli = new mysqli();
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
~~~
[x] geht, bei ca. 50.000 abgebrochen.
~~~php
<?php
$i=0;
while (1) {
$link = mysqli_connect();
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo ++$i . ' : Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
}
~~~
[x] geht, bei ca. 50.000 abgebrochen.
In beiden Fällen ist aber die Serverlast nicht zu verachten. [Ein Massenhoster wird Dir Limits setzen](https://forum.selfhtml.org/self/2016/feb/25/php-problem-imagemagick/1661792#m1661792).
**Zweiter Test nicht mit localhost, sondern zur IP des Hosts (Aber NICHT: 127.0.0.1):**
Abbruch bei knapp 30.000 (beide!) [Ich vermute mal, die Ports werden nicht schnell genug frei gegeben.
](https://support.microsoft.com/de-de/kb/196271) Auch hier gilt, dass Dir womöglich kleinere Limits gesetzt wurden.
Jörg Reinholz