Это ж откуда интересно, разработчики PHP копипастят документацию для своего же творения?
На такую документацию, как у PHP еще грех жаловаться.
А я представления не имею, откуда берут ее аффторы большинства сайтов. Но явно пишут ее не на основе просмотра исходного кода. А тупо берут ее из других источников, которые то же откуда-то ее взяли.
Если документация, такая чудесная, ответь на всего один простой вопрос.
Лочка файлов в PHP реализована на уровне парсера PHP, или на уровне ФС(ОС)?
И вопрос по сложнее. Что будет если процесс не закрывая файл сменит лочку с R на RW, если есть запрос на лочку от второго процесса.
Ну не так уж и просто ее подменить, не нагнетайте..
Легко. Достаточно обычно в ручную поставить всего 1 куку, или ручками поменять запись запроса. (Добавление) Саныч А заем тебе вообще грохать чужую сессию?
"Юзер заходит", проверяем, а существует ли такой юзер в BD, и если нет далее по тексту.
Если считаешь, что это слишком медленно, то создай еще одну BD с удаленными пользователями. Эта BD будет мизерная.
Ну так открываем файл, получаем эксклюзивную блокировку, читаем значение, что-то с ним делаем, записываем, закрываем. Посередине действия-то зачем закрывать файл?
Прости, а откровенно тебе какая разница, если ты все равно не знаешь, как реализовать то, что мне нужно?
Наверно, раз я это делаю, значит почему-то мне это было нужно, и именно так и не иначе.
Или ты считаешь, меня на столько тупой, что я сама бы не догадалась, в один прием с монопольной лочкой все cделать?
А вообще была бы нормальная документация по PHP, вопрос бы просто не возник. Столько бреда копипастят. По этому и приходится спрашивать у людей, которые делали что-то подобное.
Аппач не считает файлы которые выдает скриптами PHP.
Ищи, что ты напортачил с настройками, аппача, и за одно проверь,
какие типы файлов ассоциируются у аппача с PHP.
И права проверь.
Ну так и зачем закрываете дескриптор, когда блокировка ещё нужна?
Прости, я не понимаю смысла в твоих вопросах. Этот как-то относится к решению задачи, или просто в реальной жизни общения не хватает?
Если есть, что по делу сказать, говори. А счетчик сообщений ты и так хорошо намотал.
.не снимай блокировку пока не проведешь все необходимые операции
RTFM: Функция закрытия файла, автоматически снимает блокировки.
В общем сделала.
Правда несколько кривовато.
Если в течении 3х секунд скрипт не может получить монопольный доступ, он использует другой механизм записи в файл.
Что такое блокировки я знаю. И как они работают то же. Тут в другом непонятка.
1) Первый скрипт открывает, блочит.
2) Второй скрипт открывает, блочит, подвисает.
3) Первый скрипт читает, закрывает файл, блокировка автоматически снимается.
4) Второй скрипт читает, закрывает файл, блокировка автоматически снимается.
5) Первый скрипт открывает, блочит, записывает, закрывает, блокировка автоматически снимается.
6) Второй скрипт открывает, блочит, записывает, закрывает, блокировка автоматически снимается.
Вот никак не пойму, как П4 избежать. То есть последовательность должна быть
1-2-3-5-4-6
Никак не разберусь, как сделать следующую тему:
Если грубо. Читаем из файла некое число, увеличиваем на единицу, записываем в файл обратно. Как сделать так, что бы другой процесс не смог получить доступ к файлу, пока работает первый. Если можно, пример кода.
Прописываю в .htaccess php_value error_log php_errors.log
Файл с ошибками не создается.
В начале PHP файла прописываю ini_set('error_log','php_error.txt');
Файл с ошибками создается.
Подскажите:
1) как правильно прописать эту директиву в .htaccess
2) Что вообще нужно, прописывать в .htaccess в общем случае, что бы получать файл содержащий ошибки PHP. А то у разных хостеров настройки разные, а хочется имень некий шаблон htaccess, что бы на всех хостигах работало одинаково.