И бывает так, что http-запрос выбрасывает php-ошибку (не exception).
try {
$response = $http_client->get($request);
$logger->debug([$request, $response]);
} catch (\Throwable $e) {
$logger->debug([$request]);
}
$json = '[{"id":"1","name":"Вася"}, {"id":"2","name":"Коля"}, {"id":"3","name":"Федя"}, {"id":"4","name":"Саня"}, {"id":"5","name":"Рома"}]';
$arr = json_decode($json);
foreach($arr as $key => $value){
if( $value -> id == 3) {
unset($arr[$key]);
}
}
$arr = array_values($arr); // <--
$json2 = json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );
var_dump($json2);
то у хостера родительский сервер упадет
то nginx отвалится
то в php количество активных процессов границы достигнет (на ожидании внешних ресурсов повисли).
Начиная с PHP объектная переменная больше не содержит сам объект как значение. Такая переменная содержит только идентификатор объекта, который позволяет найти конкретный объект при обращении к нему. Когда объект передаётся как аргумент функции, возвращается или присваивается другой переменной, то эти разные переменные не являются псевдонимами (алиасами): они содержат копию идентификатора, который указывает на один и тот же объект.
ob_end_flush();
if ($pid) {
echo 'PID: ' . $pid . PHP_EOL;
echo "Ожидаем $sleep секунды и убиваем дочерний процесс" . PHP_EOL;
sleep($sleep);
echo 'Убиваем дочерний процесс' . PHP_EOL;
posix_kill($pid, SIGKILL);
echo 'End' . PHP_EOL;
} else {
echo '[Дочерний код работает]' . PHP_EOL;
sleep(300);
}
$sth = $dbpdo->prepare("INSERT INTO `blogs` SET `text` = ?");
$post_text = addslashes($_POST['post_text']);
if(strlen($post_text) > 15) {
SELECT p.id, p.price, p.code FROM products p
JOIN
( SELECT product_id, MIN(price) minPrice
FROM products WHERE price IS NOT NULL GROUP BY product_id
) p2
ON p.price = p2.minPrice AND p.product_id = p2.product_id;
$product->{"PICTURE"}
$product['PICTURE']
The timeout for serving a single request after which the worker process will be killed. This option should be used when the 'max_execution_time' ini option does not stop script execution for some reason. A value of '0' means 'off'. Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
Default Value: 0
$myrow = mysqli_fetch_array($query1);
for ($i = 0; $i < count($arrX); $i++) {
for ($j = 0; $j < count($arrY); $j++) {
$tmpValue = $arrX[$i] * ($arrY[$j] + ($number_p * $distance));
for ($a = 0; $a < $iter; $a++) {
$value = $tmpValue * ($number_p + $a);