php

php fpm Не применяются настройки php.ini -- как исправить

После изменения конфигурационного файла обычно при разных SAPI требуется что-то перезагрузить, если php работает как модуль апач, то перезапускают апач,

Если же, скажем, у вас php работает через FPM. то и перезапускать надо fpm, а не просто перезагружать сервер apache,
например (на linux):

 sudo service php5.6-fpm restart

php Два знака вопроса что это ?? -- Null-коалесцентный оператор

Два знака вопроса, идущие подряд без пробела (впервые появились появились в php7) -- это не что иное как:

Null-коалесцентный оператор

Решает распространенную проблему в PHP.
Она возникает в случае, если мы хотим присвоить значение переменной, которое присвоено другой переменной, но если последней переменной значение не было присвоено (isset), то присвоить некое явное значение по умолчанию.

Часто проявляется при работе с пользовательским вводом.

До PHP 7:

php Почему не работает редирект Warning: Cannot modify header information - headers already sent by... Ошибка Решение

[продолжение этого вопроса]

Описание частной проблемы

После нажатия на кнопку выводится ошибка:

Warning: Cannot modify header information
 - headers already sent by (output started at C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php:10)
 in C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php on line 12

Код аналогичен приведённому в данной теме:

php Одинарные и двойные кавычки вокруг строк (литералов) -- какая разница. Когда и какие сиволы нужно экранировать

Одинарные и двойные кавычки -- в чем разница (PHP)

Строки с двойными и одинарными кавычками отличаются тем:

Экранирование символов в строках

Экранирование -- исключение "особого значения" символа с помощью добавления перед ним какого-либо иного символа.

Вывести на экран сумму N случайных чисел.

<?php
function Random_num_1 ($N)
{
$sum=0;
	for ($i=1;$i<=$N;$i++) {
		$a=rand();
		$sum= $a+$sum;
		echo $a, "<BR>"; 
	  }
 }
 $b=Random_num_1 (10);
?>

ubuntu php Переключить версию -- например с PHP5.6 на PHP7 команды) -- изменить используемую версию (php как модуль Апач-а)

ПРИМЕЧАНИЕ: подразумевается, что версии между которыми вы переключаетесь у вас уже установлены. как модуль Apache.

Переключение между версиями PHP

С php5.6 на php7.0 (к новой версии)

Для Apache:

        sudo a2dismod php5.6  && sudo a2enmod php7.0 && sudo service apache2 restart

Командная строка (CLI):

Мистика - когда не ясно, что происходит, нестандартное поведение php/mysql -- необычная работа скрипта

Предположим, что дело всё же в какой-то технической проблеме, поддающейся исправлению обычными действиями (т.е. имеется ситуация, в которой это действительно не атака тёмных сил, и более того - дело не в проблемах на уровне ОС, не в работе каких-то агрессивных вирусов + не в аппаратных сбоях компьютера).

php echo дублирует выполнение запроса -- два раза вместо одного, MYSQL PDO

Попытка описание этой абстрактной проблемы:

Проблема наблюдается. если выводить на экран что-то между выполнением запросов.
Похоже, что как будто помимо отправленных к mysql запросов "на фоне" (в другом процессе/потоке) начинают выполнятся их дубли.
Вроде бы такая проблема наблюдается не только на одном компьютере.

Решение

См. возможное решение здесь.

php Как работают сессии -- использование куков

Для идентификации пользователя в php сессиях используются (есть возможность использовать) два механизма:

  1. С помощью добаления во все ссылки на сайте специального GET-параметра
    ?PHPSESSID=значение
  2. Или механизм куков (если браузер клиента поддерживает его), тогда идентификатор сессии передаётся скрытно для пользователя в куках.

Подробнее об этом механизме работы можно почитать тут: http://phpfaq.ru/sessions

Pages

Subscribe to RSS - php