Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

costas

Users
  
  • Posts

    2,822
  • Joined

  • Last visited

Everything posted by 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] Это выражение будет фильтровать все названия, которые содержать буквы верхнего или нижнего регистра кириллицы или латиницы.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.