Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

costas

Користувачі
  
  • Публікації

    2 822
  • З нами

  • Відвідування

Усі публікації користувача costas

  1. Приветствую. В файле catalog/controller/startup/seo_url.php есть вызов //seo_pro baseRewrite if($this->config->get('config_seo_pro')){ list($url, $data, $postfix) = $this->seo_pro->baseRewrite($data, (int)$this->config->get('config_language_id')); } При этом нет проверки route на соответствие запроса, в результате любой url содержащий product_id получает url ссылающийся на страницу товара не зависимо от наличия 'product/product' Например есть ссылка такого вида на выходе после baseRewrite получаем ссылку на товар, что не верно. Проблема в коде seopro.php, вот эта часть кода foreach ($data as $key => $value) { switch ($key) { case 'product_id': $product_id = (int) $value; $queries[] = 'product_id=' . $product_id; $postfix = true; unset($data[$key]); break; case 'manufacturer_id': $manufacturer_id = (int) $value; $queries[] = 'manufacturer_id=' . $manufacturer_id; $postfix = true; unset($data[$key]); break; case 'category_id': ......... Не проверяет route, по хорошему нужно переписать конструкцию с использованием "if" вместо "switch case" c проверкой route на соответствие. Я использовал костыль вида $routes = array( 'product/product', 'product/product/review', 'product/category', 'product/manufacturer', 'product/manufacturer/info', 'information/information', 'information/information/info', 'information/information/agree', 'blog/article', 'blog/article/review', 'blog/category' ); if($route && in_array($route, $routes)) { foreach ($data as $key => $value) { switch ($key) { case 'product_id': $product_id = (int) $value; $queries[] = 'product_id=' . $product_id; $postfix = true; unset($data[$key]); break; case 'manufacturer_id': $manufacturer_id = (int) $value; $queries[] = 'manufacturer_id=' . $manufacturer_id; $postfix = true; unset($data[$key]); break; case 'category_id': case 'information_id': $information_id = (int) $value; $queries[] = 'information_id=' . $information_id; $postfix = true; unset($data[$key]); break; //blog case 'blog_category_id': $blog_categories = explode('_', $value); foreach ($blog_categories as $blog_category_id) { $queries[] = 'blog_category_id=' . (int) $blog_category_id; } unset($data[$key]); break; case 'article_id': $article_id = (int) $value; $queries[] = 'article_id=' . $article_id; $postfix = true; unset($data[$key]); break; //blog case 'path': $categories = explode('_', $value); foreach ($categories as $category_id) { $queries[] = 'category_id=' . (int) $category_id; } unset($data[$key]); break; default: break; } } }
  2. pcntl не работает из под Apache, только в cli и cgi, суть сводится к запуску фоновых процессов, такое хостеры вряд ли разрешают, в некоторых продакшен дистрибутивах это вообще залочено.
  3. Технически можно ещё снизить нагрузку со стороны PHP на сервер, но это замедлит выполнение в разы, при этом не факт, что нагрузка на MySQL упадёт (речь конечно же об однопоточности).
  4. Пару лет назад может больше, ещё до того как OpenOffce перешёл под крыло Apache, я натолкнулся на проблемы при использовании Libre Office, в итоге из описаний модуля везде был удалена рекомендация Libre Office, только Apache OpenOffce.
  5. PHP pthreads на данный момент не входит в состав PHP пакетов, поставляемых с дистрибутивами, для того что бы это работало, нужно как минимум устанавливать данную библиотеку из альтернативных репозиториев или пересобирать PHP с поддержкой данной библиотеки, чего ни один хостер в продакшене делать не будет по понятным причинам. З.Ы. Если обратиться к документации PHP pthreads, то там сказано что PHP pthreads не должна использоваться в веб-серверной среде, в последней версии pthreads v3 это вообще является программным ограничением.
  6. Речь идёт об оптимизации настроек MySQL в первую очередь, "тюнинг" конфига как минимум, ну и настройки PHP относительно директории admin/ (хотя PHP тут роли не играет вообще) Вам нужен специалист по настройке БД MySQL. Мультипоточная работа в PHP - php7.0-zts, для этого нужно писать приложение с учётом этого, что не гарантирует результата. Если у Вас есть докачка изображений - то это основной тормоз, качайте доунлоедорм и заливайте по FTP, средствами PHP скачивание изображений не решается в рамках разумного.
  7. Обязанность покупателя прочитать описание модуля перед покупкой, где в том числе, описаны условия лицензия и каким образом она выдаётся. З.Ы. про танцы перед программистом в описании модуля возможно то же есть информация.
  8. Здравствуйте. Регулярное выражение PHP [а-яА-Яa-zA-Z] Это выражение будет фильтровать все названия, которые содержать буквы верхнего или нижнего регистра кириллицы или латиницы.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.