Веб-сайт Laravel, эмулированный с помощью Xampp, дает: класс "Memcached" не найден

Я скопировал содержимое папки public_html веб-сайта (созданной с помощью Laravel) в папку htdocs, принадлежащую Xampp. Я импортировал базу данных на свой локальный хост, которая включает мои данные для входа. Я также создал файл database_connection и файл index.php, чтобы подключить его к базе данных. Однако, когда я пытаюсь войти в систему с моими данными, которые работают на «реальном» веб-сайте, локальный хост дает мне следующее:

FatalThrowableError в строке 51 MemcachedConnector.php: Класс Memcached не найден

В течение нескольких дней я пытался следовать инструкциям в Интернете (различные форумы, учебные пособия, видео) относительно установки пакета Memcached или различных модификаций в файле конфигурации Apache, но ни один из них мне не помог. Не могли бы вы также подробно объяснить мне решение (шаг за шагом, поскольку я абсолютный новичок в веб-разработке)? Во многих источниках я нашел такие инструкции, как: добавить следующую строку (но не указывать где) или установить этот пакет (но опять же не буду говорить, в каком каталоге и как).

Вы запустили сервер memcached?

RiggsFolly 31.07.2018 17:23

Вы активировали расширение memcached для php

RiggsFolly 31.07.2018 17:24

После установки я использовал командную строку, чтобы запустить ее, и она говорит: «Служба memcached была запущена успешно». Однако это все еще не работает.

David David 31.07.2018 17:35

Вы активировали расширение Memcached в php.ini

RiggsFolly 01.08.2018 10:14

Не могли бы вы быть более откровенными? Я не совсем понимаю, что это значит.

David David 02.08.2018 17:42

PHP имеет расширение для взаимодействия с Memcached. Необходимо добавить в набор php.ini файл extension.

RiggsFolly 02.08.2018 17:45

extension = php_memcache.dll [Memcache] memcache.allow_failover = 1 memcache.max_failover_attempts = 20 memcache.chunk_size = 8192 memcache.default_port = 11211 ............ Я добавил этот фрагмент кода после этой строки: extension = php_ftp.dll

David David 02.08.2018 19:21

Я загрузил memcached 3.0.4 и, похоже, у него есть файл, содержащий именно тот класс Memached, который мне нужен. Но в нем много файлов, которые я точно не знаю, куда их извлечь. Можете ли вы помочь мне в этом? Здесь нет инструкций, и это меня действительно сбивает с толку. Получил отсюда: pecl.php.net/package/memcached/3.0.4

David David 02.08.2018 19:27

Я также добавил файл php_memcache.dll и добавил его в папку ext, следуя инструкциям отсюда: phpcodez.com/install-memcached-xampp-windows-10 ......... Я также не смог открыть файл memcached.exe, консоль выиграла Я не могу ничего писать, но я использовал командную строку в режиме администратора и мне удалось запустить сервер. Однако мой локальный хост все еще выдает ошибку.

David David 02.08.2018 19:30

Вы уверены, что использовали TS (Thread Safe) версию php_memcache.dll и одну, скомпилированную с совместимой версией компилятора C, которая использовалась для компиляции PHP?

RiggsFolly 02.08.2018 19:36

Извините, я не знаю, как это узнать.

David David 02.08.2018 19:42

Откуда вы скачали php_memcache.dll? И какая версия PHP у вас установлена

RiggsFolly 02.08.2018 19:44

Я не знаю, как найти версию PHP, но я загрузил dll отсюда: codeload.github.com/nono303/PHP7-memcache-dll/zip/master .... У меня также есть ощущение, что это не то, что мне нужно, поскольку в некоторых сообщениях упоминается, что мне нужен memcached вместо memcache, который новее, и ошибка запрашивает у меня класс memcached. Вместо этого я нашел этот пакет memcached: pecl.php.net/package/memcached/3.0.4 ........ и в нем есть файл memcached-api.php, в котором есть класс memcached, но в нем также есть другие файлы, а файл readme остается только тем, что я должен установить libmemcached, но все еще неясно

David David 02.08.2018 20:00

Вы используете XAMPP, который не показывает вам версию PHP в окнах диспетчера.

RiggsFolly 02.08.2018 20:02

У меня есть панель управления, но она не отображается. Я нашел версию на странице, с которой скачал xampp, и это: PHP 7.2.7

David David 02.08.2018 20:07

Итак, вы загрузили php_memcache.dll, который был скомпилирован для PHP7.2, и он также должен быть _ts_

RiggsFolly 02.08.2018 20:09

Так что мне с этим делать? Я не уверен, как проверить правильность DLL или найти правильную. Я тоже не знаю, что такое ts. Поможет ли поиск в Google найти нужный файл DLL?

David David 02.08.2018 20:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
17
34
0

Другие вопросы по теме