У меня тоже встал такой вопрос, только сайтов у меня 3 больших и еще три маленьких. Все на 3 Джумле. Я даже попытался перенести один... но там пипец. Понял что проще новый написать.... что и сделал.
Написал свой двиг, один большой уже перенес (заняло 2 мес. написание с нуля движка под себя). Сейчас переношу самый большой сайт, уже идет быстрее намного.
Плюсы:
1. Тебе знакома каждая строчка, все предельно логично ибо ты писал по своей логике.
2. Генерация php кода страницы в 2-3 раза быстрее чем joomla 3 (тестировал одну и ту же страницу на одном и том же сервере).
3. Больше вообще нет геморроя с обновлениями.
4. Пишу сразу под php 8.2 и в дальнейшем переход на следующую версию php будет крайне быстрый (см. п.1)
Если работники должны делать все только через админку - ну там размещать статьи и т.п. то можно настроить уведомлялку об изменении php и js файлов. У меня такая работает уже 10 лет. Раз в 30 мин по крону пробегает весь сервер и если находит измененные в этот промежуток файлы - присылает на почту уведомление.
За эти годы меня ломали 2 раза и уже через 10-20 мин я знал что беда и знал куда лезть все чинить. Пример кода я скидывал несколько лет назад в разделе безопасность тут на форуме, кому нужно поищите.
Но mail.ru это геморой полный, фильтр пересылке почты у них совсем ни какой, срабатывает через раз или вовсе сегодня я отправляю, а завтра не буду.
Перенес все проекты на майл, настроил пересылку на gmail, все приходит.
Уже в самом gmail настроил отправку почты от имени каждого из сайтов и управляю всеми письмами всех сайтов с личного gmail
Единственное, чего не хватает на mail - галочки "удалить после пересылки", придется иногда заходить чистить ящики.
Естественно я понимаю что это не мой сервер делает, но инициализирует запросы рекламный код Яндекса, который стоит у меня. Вот и спрашиваю - могу ли я как-то повлиять на то, куда он делат запросы или нет?
Остановил мемкеш на сервере командой
service memcached stop
Warning: session_start(): Failed to write session lock: CONNECTION FAILURE
Получается сайт кеширует в него сессии. Полез в php.ini нашел это
session.save_handler = memcachedsession.save_path = "127.0.0.1:11211"
Вопрос закрыт.
Проверил на пхп 7.4
$search_word = 'dfhggdfhdfhfdghert';$file = file_get_contents('/var/www/com/12.txt');// Пример с использованием strstr$start_time_strstr = microtime(true);$found_strstr = strstr($file, $search_word);$end_time_strstr = microtime(true);// Пример с использованием strpos$start_time_strpos = microtime(true);$found_strpos = strpos($file, $search_word);$end_time_strpos = microtime(true);// Пример с использованием preg_match$start_time_preg_match = microtime(true);$found_preg_match = preg_match('/' . $search_word . '/', $file);$end_time_preg_match = microtime(true);// Вывод результатов echo "Скорость поиска по слову '".$search_word."'\n";echo "strstr(): " . number_format(($end_time_strstr - $start_time_strstr), 10) . " ms\n";echo "strpos(): " . number_format(($end_time_strpos - $start_time_strpos), 10) . " ms\n";echo "preg_match(): " . number_format(($end_time_preg_match - $start_time_preg_match), 10) . " ms\n";
echo "Скорость поиска по слову '".$search_word."'\n";echo "strstr(): " . number_format(($end_time_strstr - $start_time_strstr), 10) . " ms\n";echo "strpos(): " . number_format(($end_time_strpos - $start_time_strpos), 10) . " ms\n";echo "preg_match(): " . number_format(($end_time_preg_match - $start_time_preg_match), 10) . " ms\n";
Ожидаемо - strpos быстрее всего.
Просто в подавляющем большинстве случаев эта разница настолько мала, что особого смысла нет (хотя если сильно хочется, то можно конечно сделать).
Вы читаете мои мысли ))) ТОже пришел к этой мысли. Просто объединю их сожму.