Php startup unable to load dynamic library memcache so

Как включить расширение PHP memcached после установки с помощью homebrew?

Недавно я установил memcached с homebrew, я не совсем уверен, как включить его в моем envirionment PHP, так как я добавил extension=memcached.so в /etc/php.ini в Lion OS X. Даже я перезапустил apache тоже, ничего не загружено. Если я вызываю get_loaded_extensions() , я не вижу memcached в списке, как включить его при установке из homebrew? EDIT: Что я сделал в терминале: $ brew install memcached Он установил просто отлично, теперь я пошел в /etc/php.ini и добавил: extension=memcached.so

Там нет команды расширения. Я вижу в своем журнале ошибок: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/extensions/no-debug-non-zts-20090626/memcached.so’

Это объяснение: PHP не может загрузить предоставленный вами файл библиотеки. Может быть, что файл не существует, может быть, что файл просто не совместим.

Но причина, по которой я спрашиваю, состоит в том, чтобы заставить установленную memcached работать с PHP?

Смотри мой ответ. Если вы можете предоставить больше информации, вы можете получить больше информации. Но пока вы этого не сделаете, это вообще невозможно. Я не знаю, что вы сделали, поэтому необходимо придерживаться фактической информации, которую вы можете предоставить. Например сообщение об ошибке, см. Мой ответ.

Читайте также:  Радиус

Стоит отметить, что другие найдут это, по крайней мере, на данный момент модуль memcached pecl не скомпилируется для php 5.4 или 5.5. Читатели в будущем: проверьте статус этого билета bugs.php.net/bug.php?id=65134

8 ответов

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/extensions/no-debug-non-zts-20090626/memcached.so’

То, что информация PHP дает вам, придерживаться ее.

  • Указанный файл не существует. Проверьте свою файловую систему.
  • Файл, который вы указали, не может быть прочитан PHP, проверьте права на файл.
  • Указанный файл несовместим с вашим двоичным файлом PHP. Проверьте, правильно ли вы скомпилировали правильные источники и компиляция.

Вокруг моего MacBook нету memcached.so , я попытался выполнить поиск с помощью команды find и не нашел его вообще.

Затем сначала установите PHP-расширение memcache (рядом с сервером). Без действительного двоичного файла расширения очевидно, что оно не работает, не так ли?

Хм. Я исправил проблему, сначала я установил libmemcached через homebrew, затем установил memcached с pecl.

# lists all memcached related packages brew search memcached # install memcached as well as memcached extension for PHP brew install memcached brew install php54-memcached # start memcached daemon with 24MB on port 11211 (default) memcached -d -m 24 -p 11211 

Добавьте в свой php.ini файл, чтобы добавить:

Перезапустите php или php5-fpm и ваш сервер. Убедитесь, что:

php -i | grep memcached # should show memcached version, etc. 

Теперь кажется, что добавление «extension = memcached.so» не требуется, так как php при запуске говорит: «Дополнительные файлы .ini проанализированы => /usr/local/etc/php/5.4/conf.d/ext-memcached.ini», что имеет эту линию в нем.

Вышеуказанная установка работает для CLI, но с Apache она не работает. Любая идея, как исправить для Apache Я пытаюсь добавить дополнительные INI в Apache, но также неэффективно. Буду признателен за любую оказанную помощь.

brew install memcached OR sudo pecl install memcached 

Добавьте эту строку в /etc/php.ini:

extension = memcached.so OR extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/memcached.so" 

Если у вас возникли проблемы с поиском, где он живет,

mdfind memcached.so -name => /usr/lib/php/extensions/no-debug-non-zts-20090626/memcached.so 

Убедитесь, что он работает как демон (-d):

Установил и получил ошибку об автоконф. Следующий человек, который читает это, установит autoconf с помощью brew install autoconf

Вам нужно установить libmemcached с homebrew, а не только memcached. Сделайте это:

brew install libmemcached 

Затем попробуйте перекомпилировать PHP-модуль memcache. Должно быть хорошо идти

На самом деле libmemcached был моей проблемой. Я уже установил его, поэтому, когда я попробовал brew install libmemcached brew сказал Предупреждение: libmemcached-1.0.18_1 уже установлен, он просто не связан. Итак, я запустил brew link libmemcached, а затем возникла проблема с разрешениями в / usr / local / include, поэтому я выбрал -R эту папку для моего пользователя, а затем brew link заработал нормально, а затем расширение заработало, ошибка исчезла, и мой сайт загружается просто отлично.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to load dynamic library ‘memcached.so’ #1037

Unable to load dynamic library ‘memcached.so’ #1037

Comments

When using the Dockerfile build image, I meet an error.

Use temporary container simulation:

# docker run --rm -it php:fpm-alpine /bin/sh
 apk add --no-cache autoconf \ build-base \ zlib-dev \ libevent-dev \ && REDIS_URL="https://pecl.php.net/get/redis-5.3.1.tgz" \ && MEMCACHED_URL="https://pecl.php.net/get/memcached-3.1.5.tgz" \ && pecl install igbinary \ && docker-php-ext-enable igbinary \ && pecl install msgpack \ && docker-php-ext-enable msgpack \ && mkdir -p /tmp/redis \ && curl -fsSL "$REDIS_URL" -o redis.tgz \ && tar -xf redis.tgz -C /tmp/redis --strip-components=1 \ && rm redis.tgz \ && apk add --no-cache zstd-dev \ && docker-php-ext-configure /tmp/redis --enable-redis-igbinary --enable-redis-msgpack --enable-redis-lzf --enable-redis-zstd \ && docker-php-ext-install /tmp/redis \ && rm -rf /tmp/redis \ && mkdir -p /tmp/memcached \ && curl -fsSL "$MEMCACHED_URL" -o memcached.tgz \ && tar -xf memcached.tgz -C /tmp/memcached --strip-components=1 \ && rm memcached.tgz \ && apk add --no-cache libmemcached-libs \ libmemcached-dev \ && docker-php-ext-configure /tmp/memcached --enable-memcached-session --enable-memcached-igbinary --enable-memcached-json --enable-memcached-msgpack \ && docker-php-ext-install /tmp/memcached \ && rm -rf /tmp/memcached 
# php -m PHP Warning: PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/memcached.so (Error relocating /usr/local/lib/php/extensions/no-debug-non-zts-20190902/memcached.so: php_msgpack_serialize: symbol not found), /usr/local/lib/php/extensions/no-debug-non-zts-20190902/memcached.so.so (Error loading shared library /usr/local/lib/php/extensions/no-debug-non-zts-20190902/memcached.so.so: No such file or directory)) in Unknown on line 0

How did this problem arise and how should it be solved, please?

The text was updated successfully, but these errors were encountered:

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to load dynamic library memcache.so #5296

Unable to load dynamic library memcache.so #5296

Comments

Since this this morning i get the message

"This job ran on our new platform for Legacy Precise builds. Please read our blog post for more information." 

My build now fails with the message

The log length has exceeded the limit of 4 MB (this usually means that the test suite is raising the same exception over and over). 

And indeed when i check the log it is now filled with the message

PHP Warning: PHP Startup: Unable to load dynamic library '/home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/memcache.so" 
# # This file has been generated by the Ibuildings QA-Tools # # Any custom Travis-ci configuration be added here # This file should be added to your project repository # language: php php: - 5.5 services: - memcached 

Did anything change in how memcache need to be included ?

The text was updated successfully, but these errors were encountered:

I also have failures with memcache.so and zmq.so

$ echo 'extension="memcache.so"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini $ echo "extension=zmq.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
PHP Warning: PHP Startup: Unable to load dynamic library '/home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/memcache.so' - /home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library '/home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/memcache.so' - /home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/zmq.so' - /home/travis/.phpenv/versions/5.5.30/lib/php/extensions/no-debug-zts-20121212/zmq.so: cannot open shared object file: No such file or directory in Unknown on line 0 

Источник

Оцените статью