Содержание
- configure: error: memcached support requires ZLIB. Use —with-zlib-dir= to specify the prefix where ZLIB headers and library are located #46849
- Comments
- Footer
- linux-notes.org
- Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)
- Установка memcached в Debian/Ubuntu
- Установка memcached в RedHat/CentOS/Fedora
- Настройка memcached
- Тестирование/проверка работы Memcached
- Проверка настройки MemCache
- Настройка фаэрвола для Memcached
- Добавить комментарий Отменить ответ
- Memcached support #132
- Comments
- Не удается выполнить phpize или настроить расширение в OS X 10.9 Mavericks
- Обновить
- Error memcached support requires libmemcached – How to fix
- Causes and Fixes for “Error memcached support requires libmemcached”
- Plesk
- cPanel
- Conclusion
- PREVENT YOUR SERVER FROM CRASHING!
configure: error: memcached support requires ZLIB. Use —with-zlib-dir= to specify the prefix where ZLIB headers and library are located #46849
brew install —HEAD josegonzalez/php/php70-memcached
==> Installing php70-memcached from josegonzalez/php
==> Cloning https://github.com/php-memcached-dev/php-memcached.git
Updating /Library/Caches/Homebrew/php70-memcached—git
==> Checking out branch php7
==> /usr/local/opt/php70/bin/phpize
==> ./configure —prefix=/usr/local/Cellar/php70-memcached/HEAD —with-php-config=/usr/local/opt/php70/bin/php-config —
Last 15 lines from /Users/hanjiafeng/Library/Logs/Homebrew/php70-memcached/02.configure:
checking for nawk. no
checking for awk. awk
checking if awk is broken. no
checking whether to enable memcached support. yes, shared
checking for libmemcached. yes, shared
checking whether to enable memcached session handler support. yes
checking whether to enable memcached igbinary serializer support. no
checking whether to enable memcached json serializer support. no
checking whether to enable memcached msgpack serializer support. no
checking whether to enable memcached sasl support. yes
checking whether to enable memcached protocol support. no
checking whether to use system FastLZ bibrary. no
checking for ZLIB. yes, shared
checking for pkg-config. /usr/local/opt/pkg-config/bin/pkg-config
checking for zlib location. configure: error: memcached support requires ZLIB. Use —with-zlib-dir=
to specify the prefix where ZLIB headers and library are located
hi,gays
I have a problem like that, please help me.
The text was updated successfully, but these errors were encountered:
Please do these things, thanks.
Do information on https://git.io/brew-troubleshooting really help to solve this?
Because it didn’t for me. I had to:
Install zlib using brew.
Edit formula with brew edit homebrew/php/php70-memcached and add:
@martinsik If you don’t follow that: we don’t have enough information to help.
© 2023 GitHub, Inc.
You can’t perform that action at this time.
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.
Источник
linux-notes.org
Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)
Memcached — это система которая кеширует все данные в память. Это означает, что вы можете генерировать кэш самым быстрым способом что позволит быстрее использовать приложения с самыми современными языками программирования, таких как Python, PHP, Ruby, и т.д. В своей теме «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» я расскажу как можно установить memcached на Unix/Linux и на готовом примере, покажу как я это делал. Для тестирования, я выбрал CentOS 6 и Debian 8.
Установка memcached в Debian/Ubuntu
Во-первых, я рекомендую обновить систему:
Теперь используйте следующую команду для установки Memcached:
Теперь я установлю PHP с несколькими необходимыми пакетами:
Также необходимо установить модуль MemCache для PHP:
Наконец выполняем установку расширения Memcache php с помощью PECL:
Теперь включим поддержку MemCache в PHP. Прежде чем создавать новый файл просто убедитесь, возможно он уже существует и если файл уже существует просто пропустите команду что ниже:
После всех изменений, производим перезапуск службы Apache:
Установка memcached в RedHat/CentOS/Fedora
Для начала, обновим ОС:
После обновления, выполняем установку memcached:
Настройка memcached
Убедитесь, что в данном файле конфигурации имеются следующие строки:
PORT 11211 является портом прослушивания по умолчанию для Memcached.
USER — это пользователь memcached от которого будет запущен демон.
MAXCONN — максимальные количество возможных соединений.
CACHESIZE — это количество мегабайт (64 MB) для использования, если у вас есть много трафика, это хорошо для большинства малых/средних сайтов. Для загруженного сервера вы можете увеличить его на 512 или 1 Гб (1024 MB).
OPTIONS=»-l 127.0.0.1″ — это означает что memcached будет слушать только на localhost-е, избегая каких-либо внешних подключений. Вы можете установить IP-адрес сервера. По умолчанию он установлен в INADDR_ANY. Это важно опция, поскольку нет никакого другого способа обеспечить установку. Привязка к внутреннему или межсетевому интерфейсу предлагается.
Для CentOS/RHEL 6/5:
запуск Memcached выполняется:
Пропишем memcached в загрузку ОС:
Для CentOS/RHEL 7:
Устновка PHP расширений с Memcached.
Если PECL при установке задаст вам вопрос, который вы видите ниже, просто нажмите ENTER:
У меня возникла ошибка:
Добавим модуль memcache.so module в php.ini
Перезапускаем службы.
Если на вашем сервере установлен php-fpm, то чтобы перезапустить его, выполните:
Если на вашем сервере установлен apache, то чтобы перезапустить его, выполните:
Для CentOS/RHEL 7:
Для CentOS/RHEL 6/5:
Тестирование/проверка работы Memcached
Проверка настройки MemCache
Использование следующую команду, чтобы проверить и убедиться, что Memcached служба работает нормально:
Теперь нужно проверить, включено ли расширение и удостоверимся что работает правильно. Создайте файл в домашнем каталоге и пропишите следующий ПХП код:
Если открыть сайт, то увидим:
Проверьте, установлен ли Memcached как модуль PHP:
Настройка фаэрвола для Memcached
Добавьте слудеющие правила для разрешения соедения (для работы memcached):
Проверяем, запущен ли демон memcached на ОС:
На этом, статья «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Memcached support #132
Wondering if anyone has gotten memcached (not memcache) to work? Trying to build in php:5.5.29-apache to get the php memcached module installed. I have tried the following to no avail. Any help is greatly appreciated.
Dockerfile 1
Notes:
Dockerfile 2
Notes:
Dockerfile 3
Notes:
The text was updated successfully, but these errors were encountered:
@polds I think you want to use «Dockerfile 2», but you need to install libz-dev to make configure happy.
Actually, nevermind. I thought you were using docker-php-ext-install 😕
You need something like this:
@md5 thank you that was indeed it with the following modification (for future readers):
That reminds me that @helderco once mentioned creating a docker-php-pecl-install script: #115 (comment)
The smallest layer for the pecl install is probably the following:
^ That worked as well.
Thanks @hairmare I was being lazy since I don’t tend to be as aggressive with the sizes of «normal» images.
I think you’ll also want a rm -rf /var/lib/apt/lists/* in there as well since apt-get clean doesn’t clean as much as it could.
I failed to get memcached to work on PHP7. Finally managed to do so using the following lines, using the php7 branch and building from source:
Is there any better way?
Thanks @paolomainardi, looks a lot easier. I realise now how the bundled docker-php-ext.. scripts work.
Thank you all. I further shortened #132 (comment) a little bit. Now, I am using this config in my image for Drupal https://github.com/INsReady/php-fpm-for-cms/blob/master/7.0/Dockerfile#L11
With last version php:7.0-fpm stop working
@vitalyzhakov, I think that is related to #266.
Did anyone manage to fix this problem? I am reading through #266 but have no clue if and how I should solve this..
This code works for me under php 7.0.8-fpm
This may be obvious, but for someone (like me) it’s not.
Notice that the above snippet puts the memcached library into /var/www/html/ . When you create a volume from a host directory and mount that into /var/www/html , docker «overwrites» that path and your module «disappears».
So if you want to mount a volume into /var/www/html , change the snippet to clone the repo into another directory and adjust the corresponding line that creates the php config file.
Something like this works for me:
Please do it the right way: use the docker-php-* scripts and cleanup afterwards.
The best practice should look something like this:
This way you use docker-php-source , don’t have to create an ini file, call phpize and make yourself and most important this way you remove not needed -dev packages and all their dependencies (except for runtime dependencies in $doNotUninstall ) to save disk-space.
@adminblogger nice! Thx!
If your favor. Tell me pls. Where can i find runtime dependencies for another extensional?
I can mark to delete git, zlib1g-dev , but someone once?
Using on install
- libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev — for gd
- zlib1g-dev libicu-dev — for intl
- libpq-dev — for pdo_pgsql
- libmagickwand-dev — for imagick
For anyone who finds this because their Dockerfile has begun to fail while trying «pecl install memcached» (with the error «pecl/memcached requires PHP (version >= 7.0.0), installed version is [5.6.something]», on 02/08/17 the pecl memcached package version 3.0 was released, requiring php 7.0 or higher.
To continue using memcached with php 5.6.x, update your Dockerfile to use version 2.2.0 of the memcached package:
pecl install memcached-2.2.0
pecl install memcached
The relevant section of my Dockerfile, as a result, is:
Источник
Не удается выполнить phpize или настроить расширение в OS X 10.9 Mavericks
Я пытаюсь построить расширение memcached на OS X 10.9 Mavericks для использования со встроенным PHP 5.4, изначально я попытался pecl install memcached но это бросило следующее.
Поэтому я создал tmp-каталог и выполнил pecl download memcached , разархивировал код и cd’d в соответствующий каталог.
Пытаясь выполнить phpize, он возвращал следующее:
Я запустил zlib некоторое время назад и указал ./configure при моей установке. ./configure —with-zlib-dir=/usr/local/Cellar/zlib/1.2.8 Мне было встречено следующее сообщение об ошибке:
Итак, теперь мне интересно, как лучше всего действовать здесь … /usr/include/ вообще не существует … это вещь Маверикс? Я не помню, чтобы эта проблема возникла в 10.8.
Я мог бы попробовать заварить установку php-devel но я полагаю, что это не будет подходящей версией того, что мне нужно? Любая помощь будет принята с благодарностью здесь
Обновить
locate php_session.h показывает
должен ли я просто использовать это для ожидаемого местоположения или есть какой-то способ сделать это с помощью XCode? У меня установлены инструменты командной строки …
запустите xcode-select —install чтобы установить инструменты командной строки XCode5, затем sudo pecl install memcache . Тебе должно быть хорошо.
После установки XCode5 Command Line Tools в качестве наиболее подходящего пользователя (xcode-select -install) я не смог выполнить «sudo pecl install memcache», потому что пропал ключ. Мне пришлось установить PEAR и PECL после этого руководства: http://techtastico.com/post/como-instalar-pear-y-pecl-en-os-x-mavericks/ . Тогда все сработало хорошо. Благодаря!
У меня была эта проблема, и это было связано с тем, что MAMP не имел всех источников PHP.
Я нашел это очень полезное решение, которое объясняет, как их загрузить и настроить: https://stackoverflow.com/a/11175197/369326
Обратите внимание, что компоненты MAMP не включают дополнительные функции для любых версий PHP выше, чем php 5.4.10, но вы можете загрузить дополнительные функции из http://php.net/releases .
Как указано выше, но не используя установку xcode. Попробуйте вручную установить ключ:
Источник
Error memcached support requires libmemcached – How to fix
by Sushali Dasan | May 31, 2021
Stuck with “Error memcached support requires libmemcached”? we can help you.
Often while trying to install memcached we may end up with this error. This error is common for both Plesk and cPanel.
Here at Bobcares, we often handle requests from our customers to fix similar errors as a part of our Server Management Services. Today we will see how our support engineers fix this for our customers.
Causes and Fixes for “Error memcached support requires libmemcached”
We will see what causes this error in Plesk as well as cPanel servers along with their fixes.
Plesk
The error typically looks like the following one in Plesk servers:
Cause
The libmemcached-devel package missing.
Steps to fix this error
Following are the steps to fix this error in the Plesk server.
1. First log in to the server via SSH.
2. Then use the following command to install the package depending upon the operating system(OS):
RHEL/CentOS/CloudLinux:
Ubuntu/Debian:
cPanel
The error typically looks like the following one in cPanel servers:
If Installing memcached from WHM » Software » Module Installers was not successful it triggers the error. A typical error may look like the one given below.
The exact steps for the installation given below:
1.Run the following commands:
2. After installing these components we have to create the following file:
For 32-bit machine
For 64-bit machine
3. Then Run the following commands:
4. Next, we can install libsasl2 using the following command:
5. Then we will install libmemcached using the following command:
6. Now we can run the following to check if memcached.so is installed into /usr/local/lib/php.ini file. We can add it if is it not.
7. We can check the extension directory that we are using, with the following command:
8. Also, to preserve the memcached.so module on EasyApache recompiles we have to do the following:
This will create a posteasyapache script that will ensure memcached.so is copied from /root/memcached.so back into the php extension directory.
9. Finally using the following commands we can ensure that the installation was done properly and is complete.
[Still, stuck with the error? We can help you]
Conclusion
In short, we saw how our Support Techs fix “error memcached support requires libmemcached” for our customers.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
Источник
brew install —HEAD josegonzalez/php/php70-memcached
==> Installing php70-memcached from josegonzalez/php
==> Cloning https://github.com/php-memcached-dev/php-memcached.git
Updating /Library/Caches/Homebrew/php70-memcached—git
==> Checking out branch php7
==> /usr/local/opt/php70/bin/phpize
==> ./configure —prefix=/usr/local/Cellar/php70-memcached/HEAD —with-php-config=/usr/local/opt/php70/bin/php-config —
Last 15 lines from /Users/hanjiafeng/Library/Logs/Homebrew/php70-memcached/02.configure:
checking for nawk… no
checking for awk… awk
checking if awk is broken… no
checking whether to enable memcached support… yes, shared
checking for libmemcached… yes, shared
checking whether to enable memcached session handler support… yes
checking whether to enable memcached igbinary serializer support… no
checking whether to enable memcached json serializer support… no
checking whether to enable memcached msgpack serializer support… no
checking whether to enable memcached sasl support… yes
checking whether to enable memcached protocol support… no
checking whether to use system FastLZ bibrary… no
checking for ZLIB… yes, shared
checking for pkg-config… /usr/local/opt/pkg-config/bin/pkg-config
checking for zlib location… configure: error: memcached support requires ZLIB. Use —with-zlib-dir=
to specify the prefix where ZLIB headers and library are located
READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
https://github.com/josegonzalez/php/issues
hi,gays
I have a problem like that, please help me.
Memcached — это система которая кеширует все данные в память. Это означает, что вы можете генерировать кэш самым быстрым способом что позволит быстрее использовать приложения с самыми современными языками программирования, таких как Python, PHP, Ruby, и т.д. В своей теме «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» я расскажу как можно установить memcached на Unix/Linux и на готовом примере, покажу как я это делал. Для тестирования, я выбрал CentOS 6 и Debian 8.
Установка memcached в Debian/Ubuntu
Во-первых, я рекомендую обновить систему:
$ sudo apt-get update
Теперь используйте следующую команду для установки Memcached:
$ sudo apt-get install memcached
Теперь я установлю PHP с несколькими необходимыми пакетами:
# apt-get install php5 php5-dev php-pear php5-memcached
Также необходимо установить модуль MemCache для PHP:
# apt-get install libmemcached-dev build-essential
Наконец выполняем установку расширения Memcache php с помощью PECL:
# pecl install memcache
Теперь включим поддержку MemCache в PHP. Прежде чем создавать новый файл просто убедитесь, возможно он уже существует и если файл уже существует просто пропустите команду что ниже:
$ echo "extension=memcache.so" > /etc/php5/apache2/conf.d/20-memcache.ini
После всех изменений, производим перезапуск службы Apache:
# service apache2 restart
Установка memcached в RedHat/CentOS/Fedora
Для начала, обновим ОС:
# yum update
После обновления, выполняем установку memcached:
# yum install memcached
Настройка memcached
Отредактируем файл:
$ vim /etc/sysconfig/memcached
Убедитесь, что в данном файле конфигурации имеются следующие строки:
PORT="11211" USER="memcached" MAXCONN="256" CACHESIZE="64" OPTIONS="-l 127.0.0.1"
PORT 11211 является портом прослушивания по умолчанию для Memcached.
USER — это пользователь memcached от которого будет запущен демон.
MAXCONN — максимальные количество возможных соединений.
CACHESIZE — это количество мегабайт (64 MB) для использования, если у вас есть много трафика, это хорошо для большинства малых/средних сайтов. Для загруженного сервера вы можете увеличить его на 512 или 1 Гб (1024 MB).
OPTIONS=»-l 127.0.0.1″ — это означает что memcached будет слушать только на localhost-е, избегая каких-либо внешних подключений. Вы можете установить IP-адрес сервера. По умолчанию он установлен в INADDR_ANY. Это важно опция, поскольку нет никакого другого способа обеспечить установку. Привязка к внутреннему или межсетевому интерфейсу предлагается.
Для CentOS/RHEL 6/5:
запуск Memcached выполняется:
# service memcached start
Пропишем memcached в загрузку ОС:
# chkconfig memcached on
Для CentOS/RHEL 7:
# systemctl enable memcached # systemctl start memcached
Устновка PHP расширений с Memcached.
выполняем:
# yum install php-pear pecl_http php-devel
И выполняем:
$ pecl install memcache
Если PECL при установке задаст вам вопрос, который вы видите ниже, просто нажмите ENTER:
"Enable memcache session handler support? [yes]"
У меня возникла ошибка:
ERROR: `/var/tmp/memcache/configure --enable-memcache-session=yes' failed
Исправляем:
# yum install libmemcached libmemcached-devel
Получил следующую:
checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located ERROR: `/var/tmp/memcached/configure' failed
Фиксим:
# yum install zlib zlib-devel
Добавим модуль memcache.so module в php.ini
# echo "extension=memcache.so" >> /etc/php.ini
Перезапускаем службы.
Если на вашем сервере установлен php-fpm, то чтобы перезапустить его, выполните:
# service php-fpm reload
Если на вашем сервере установлен apache, то чтобы перезапустить его, выполните:
Для CentOS/RHEL 7:
# systemctl restart httpd
Для CentOS/RHEL 6/5:
# service httpd restart
Тестирование/проверка работы Memcached
Проверка настройки MemCache
Использование следующую команду, чтобы проверить и убедиться, что Memcached служба работает нормально:
$ echo "stats settings" | nc localhost 11211
Теперь нужно проверить, включено ли расширение и удостоверимся что работает правильно. Создайте файл в домашнем каталоге и пропишите следующий ПХП код:
# echo "<?php phpinfo(); ?>" > /var/www/html/php_info.php
Если открыть сайт, то увидим:
Проверьте, установлен ли Memcached как модуль PHP:
# php -i | grep memcache -i
Настройка фаэрвола для Memcached
Добавьте слудеющие правила для разрешения соедения (для работы memcached):
iptables -A INPUT -p tcp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT iptables -A INPUT -p udp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
Проверяем, запущен ли демон memcached на ОС:
$ ps -aux | grep memcached
На этом, статья «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» завершена.
916 votes
3 answers
Get the solution ↓↓↓
I have the issue installing a memcached’s module for php 7.1. I use MacOS High Sierra and [email protected] installing using homebrew. During the installation of memcached module for php using command
pecl install memcached
I received the errors:
checking for zlib location… configure: error: memcached support
requires ZLIB. Use —with-zlib-dir= to specify the prefix where
ZLIB headers and library are located ERROR:
`/private/tmp/pear/install/memcached/configure
—with-php-config=/usr/local/opt/[email protected]/bin/php-config —with-libmemcached-dir’ failed
But I have installed zlib. I can’t find a way how to install memcached module after the changes in homebrew repository.
2022-04-1
Write your answer
860
votes
Answer
Solution:
pecl bundle memcached
- Change to the directory it output
phpize
- Make sure libmemcached and zlib are installed (
brew install libmemcached zlib
) - Get the zlib directory (
brew list zlib
) ./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/
(replace the zlib path with the one from the previous command)make
make install
- Add the extension line in your php.ini file (ex. change the paths to match what make install output. I added this to my
/usr/local/etc/php/7.4/conf.d
directory in a file called ext-memcached.ini
[memcached]
extension=memcached.so
- Verify you installed the module
php -m
should show you memcached in the outputted list
37
votes
Answer
Solution:
You can use env variablePHP_ZLIB_DIR
to tell it where zlib is.
PHP_ZLIB_DIR=/usr/local/opt/zlib pecl install memcached
Full installation.
brew install zlib
yes no | PHP_ZLIB_DIR=$(brew --prefix zlib) pecl install memcached
829
votes
Answer
Solution:
To install memcached prerequisite
- Install pkg-config and zlib using
brew install pkg-config zlib
- Check Php Version for which you installing should be linked.
php -v
tells you which php version is active for cli. pecl config-get ext_dir
will tell you which version configuration files are set.- Get configuration path for zlib that is required while installing
brew list zlib
Install usingsudo pecl install memcached
While installing it will askzlib directory [no] :
in that paste zlib configuration path/opt/homebrew/Cellar/zlib/1.2.11
examplezlib directory [no] : /opt/homebrew/Cellar/zlib/1.2.11
Restart your php and nginx/apache2brew services restart [email protected]
brew services restart nginx
brew services restart apache2
You can check extension is installed or not by usingphp -m
.
Note : Am usingMacPro M1 silicon chip
notebook. Installed usinghomebrew
. struggle a lot to fix this issue.
Share solution ↓
Additional Information:
Date the issue was resolved:
2022-04-1
Link To Source
Link To Answer
People are also looking for solutions of the problem: regex stop at first match
Didn’t find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Bug #56522 | Fails to find zlib library | |||
---|---|---|---|---|
Submitted: | 2005-09-02 11:34 UTC | Modified: | 2006-01-29 08:13 UTC | |
From: | cyberlot at cyberlot dot net | Assigned: | ||
Status: | Closed | Package: | memcache (PECL) | |
PHP Version: | 5.0.3 | OS: | Fedora Core 4 | |
Private report: | No | CVE-ID: | None |
[2005-09-02 11:34 UTC] cyberlot at cyberlot dot net
Description: ------------ Can't use pear to install memcache anymore memcache support requires ZLIB. Use --with-zlib-dir=<DIR> `/tmp/tmprVj7sq/memcache-1.5/configure' failed PHP compiles fine with zlib support and did not have to specify directory just --with-zlib If I download memcache manually and do a phpize ./configure --with-zlib-dir=/usr/include It compiles fine but it should look in /usr/include by default? Reproduce code: --------------- pear install memcache Expected result: ---------------- A successfull install Actual result: -------------- pear install memcache downloading memcache-1.5.tgz ... Starting to download memcache-1.5.tgz (14,291 bytes) .....done: 14,291 bytes 4 source files, building running: phpize Configuring for: PHP Api Version: 20031224 Zend Module Api No: 20041030 Zend Extension Api No: 220040412 configure.in:9: warning: underquoted definition of PHP_WITH_PHP_CONFIG run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal configure.in:32: warning: underquoted definition of PHP_EXT_BUILDDIR configure.in:33: warning: underquoted definition of PHP_EXT_DIR configure.in:34: warning: underquoted definition of PHP_EXT_SRCDIR configure.in:35: warning: underquoted definition of PHP_ALWAYS_SHARED acinclude.m4:19: warning: underquoted definition of PHP_PROG_RE2C acinclude.m4:1915: warning: underquoted definition of PHP_TEST_BUILD building in /var/tmp/pear-build-root/memcache-1.5 running: /tmp/tmprVj7sq/memcache-1.5/configure checking build system type... i686-redhat-linux-gnu checking host system type... i686-redhat-linux-gnu checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking whether gcc and cc understand -c and -o together... yes checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking for PHP prefix... /usr/local checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/Zend -I/usr/local/include/php/TSRM checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20041030 checking for re2c... exit 0; checking for gawk... gawk checking whether to enable memcache support... yes, shared checking for the location of libz... no checking for the location of zlib... configure: error: memcache support requires ZLIB. Use --with-zlib-dir=<DIR> `/tmp/tmprVj7sq/memcache-1.5/configure' failed
Patches
Add a Patch
Pull Requests
Add a Pull Request
History
AllCommentsChangesGit/SVN commitsRelated reports
[2005-09-02 11:53 UTC] cyberlot at cyberlot dot net
I can replicate the bug on another machine. memcache 1.4 is installed fine, can not install memcache 1.5 same error php 5.0.3 Tried to upgrade a 5.1.0RC1 from memcache 1.4 same problem, can't seem to find zlib. PEAR upgraded in both cases. I found a box with pear 1.3.5 instead of 1.3.6 same problem pear install memcache-1.4 WORKS!!!! its only when trying to upgrade to the latest memcache-1.5
[2005-09-10 10:51 UTC] email at steffenweber dot net
I?m having the same problem with PHP 4.4.0 and PEAR 1.3.6. Using "PHP_ZLIB_DIR=/usr/lib pear upgrade memcache" the installation seems to work fine first, but at the end I get the following output and the extension does not work: Build process completed successfully Installing '/var/tmp/pear-build-root/install-memcache-1.5//usr/lib/php/extensions/no-debug-non-zts-20020429/memcache.so' upgrade ok: memcache 1.5 Segmentation fault
[2005-12-23 12:42 UTC] mikael at synd dot info
This issue should be fixed in the latest release 2.0.0, please verify that the issue does not persist by running pear install pecl/memcache
[2006-01-29 08:13 UTC] pear dot neufeind at speedpartner dot de
Thank you for your bug report. This issue has been fixed in the latest released version of the package, which you can download at http://pecl.php.net/get/memcache Had same problem installing 1.5. The "trick" with setting PHP_ZLIB_DIR however worked excellent for me. Install with 2.0 even worked without any tricks. Marking it fixed in 2.0.
[2007-07-12 11:22 UTC] jreck at reck dot dk
When I try to install memcache_2.1.2 with pear I get the following error: # pear install -f memcache downloading memcache-2.1.2.tgz ... Starting to download memcache-2.1.2.tgz (22,285 bytes) ........done: 22,285 bytes No handlers for package.xml version 2.0
#php #macos #memcached #pear #pecl
Вопрос:
В последнее время я пытаюсь установить расширение pecl memcache
PHP на OSX Catalina с brew memcached
установленным, и каждый раз, когда я пытаюсь выполнить процесс установки, я получаю следующую ошибку:
configure: error: memcache support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located
Я пытался с pecl install memcache
и pecl install --configureoptions='with-zlib-dir="path"' memcache
безрезультатно. Он всегда получает одну и ту же точку и терпит неудачу.
Из того, что я посмотрел на различные темы, касающиеся установки пакета на вопрос, как представляется, с -D
возможностью в pecl install
команду, потому что, когда я вручную установить из исходного кода, передавая спор --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
на ./configure
команду, он работает как шарм и устанавливает пакет, но не сейчас, перечисленных в pecl list
установленных пакетах и не может быть удалено.
Проблема в том, что мне нужно pecl
управлять установкой пакета, чтобы иметь возможность удалить его в любое время, когда среда меняется с проекта на защиту.
Ответ №1:
Быстрое решение этой проблемы (найдено через https://bugs.php.net/bug.php?id=56522) заключается в использовании переменной PHP_ZLIB_DIR вместо —with-zlib-dir.
т.е. PHP_ZLIB_DIR=/usr/local/Cellar/zlib/1.2.11 pecl install memcache
Я и раньше боролся с опцией-D — насколько я могу судить, она полностью сломана.
Комментарии:
1. Большое вам спасибо за ответ, он отлично работает так, как должен работать. Единственное изменение, которое я предлагаю для тех, кто еще рассматривает эту проблему, — это экспортировать путь в
.bashrc
или в.zshrc
для будущих установокecho "export PHP_ZLIB_DIR=/usr/local/Cellar/zlib/1.2.11 pecl install memcache" > .bashrc
. И не забудьте использоватьsudo
, если это возможно, во время установки, чтобы избежать проблем с разрешениями