В локалке
Windows 7 PHP 5.3.2
Хостинг
Линукс какойто PHP 5.2
Тут такое дело что получилось без ошибок выполнить код, но крайне странным способом:
после блокировки файла базы, я отвлекаю процесс от данного файла и немного работаю с другим, что угодно хоть содаю левый файл хоть что, и ошибка пропадает, в файл записывается ровно 2000 строк.
Это ты думаешь, что я так думаю, но ты ошибаешся, там вообще и 10 мб не пахнет, не поверишь хватило ума написать с прозапасом.
Склоняюсь к тому что, нет, т.к. в этом случае flock бы вообще не работал, а он работает и это проверено на практике, второй скрипт ждет выполнения 1го и только потом выполняется, из чего следует что flock работает.
Банят не за факт наличия такого же кода адсенс, а по этому факту может пройти более тщательная проверка сайта на его право находиться в выдаче, а там возможно уже сложный алгоритм, который анализирует только подозрительные сайты, выносит решение. То есть вы совпадением кода адсенс можете только привлечь, как говорится ревизию сайта. Но опять же это все догадки.
А вы не подумали что не за адсенс, а просто с помощью него вычислил сеть, тут ничего невероятного не вижу. Отличный способ вычислить сетку, вероятность его использования считаю крайне высокой.
Исходя из этого в теме ТС есть логика, но понятно дело, что за само наличие адсенса ни кто банить не будет.
Мне долго не потребовалось времени чтобы выяснить что его версия тут не подходит, все проверил при каждой операции файл блокируется удачно.
В предыдущем скрипте не имеется ввиду что файл большой, там может быть хоть 2 строки по 10 символов, сбой все равно произойдет при совпадении времени обращения, посещаемость лишь увеличивает шансы, что скрипт будет вызван одновременно больше я этим ни чего не хотел сказать.
думаю ошибка расположена между:
flock($fopen,LOCK_EX); # Блокируем файлгде то тут flock($fopen,LOCK_UN); # Разблокируем
может функция fread глючит? не полностью считывает файл.
Вы недопонимаете ситуацию, сейчас поясню:
Забываем про то, что писали выше и моделируем ситуацию по вашим правилам "быстрое выполнение - исполнился и забыл"
вот код
$fopen=fopen("111.dat","a+"); flock($fopen,LOCK_EX); $file=fread($fopen,50000000); if(strlen($file)>=1){ $file=explode("\n",$file); }else{ $file[0]=""; } $count=count($file); if($count!="0"){ array_unshift($file,$dat); }else{ $file[0]=$dat; } $file=trim(implode("\n",$file)); ftruncate($fopen,0); fwrite($fopen,$file); fflush($fopen); flock($fopen,LOCK_UN); fclose($fopen);
Простейший быстрый скрипт, открыл записал закрыл, и что проблемы по вашему уже нет? Ни чего не изменилось, т.к. опять же заходят 2 пользователя в 1 единицу времени и косяк на лицо, а для того чтобы они вошли одновременно достаточно лишь высокой посещалки ресурса.
Первый стоящий ответ, ушел проверять.
Если это шутка, то прощаю, если вы серьезно, то молчу 😂
Что значит, распараллеливают? как я могу распараллелить вызов скрипта двумя посетителями одновременно? То что я сделал 1000 циклов, этим я лишь увеличил вероятность запуска в один и тот-же момент (тоесть имитировал посещаемый сайт), любой другой скрипт не меняет ситуацию просто вероятность сбоя в разы меньше но она всегда есть. Короче ответ не в тему.
flock проверил файл блокируется, я только убедился что она блокирует файл и все.
.
Не несите бред в массы, 70 % сайтов на вирт. хостинге ГС и с ними параллельно отлично работают СДЛ и отлично ранжируются.
Где вы вообще этот бред собираете в мозги?
Может только в том случае если хостинг периодически не отвечает поисковику, а сколько сайтов на IP вообще ни как не влияет и не может влиять.
Все что выводится JS Яндекс просто не проиндексирует и все, санкций за это нет и быть не может т.к. было бы идиотизмом давить сверх перспективную технологию такую как AJAX открытие которой сало прорывом в сайтостроении.
Почему кликов нет, а доход 0,01 $ за что начислили? Судя по клиентским каналам доход, был с баннера, но кликов не было.