Как «pecl» зол порой бывает

    Сегодня столкнулся с проблемой прикрутки memcache к PHP собранному из сырцов. А именно при попытке выполнить:
    [root@idev bin]# ./pecl install memcache

    Я получал следующий результат:
    downloading memcache-2.2.3.tgz…
    Starting to download memcache-2.2.3.tgz (27,304 bytes)
    .........done: 27,304 bytes
    11 source files, building
    running: phpize
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519
    ERROR: `phpize' failed


    Без отчаяний я решил помучать google на предмет этой ошибки. Повылезало куча линков, однако нигде эта проблема не была решена. Кто советовал, прописать директорию bin от PHP в переменную окружения $PATH, кто ещё чего-то советовал, но ничего собственно не помогало. Собственно непосредственно вызов phpize тоже не радовал:
    [root@idev bin]# ./phpize
    Cannot find config.m4.
    Make sure that you run './phpize' in the top level source directory of the module

    Изрядно намучавшись различными трюками и выкрутасами, я решил воспользоваться другим путем. А именно пошел прямиком на pecl.php.net, и найдя там memcache-3.0.1.tgz я его скачал в директорию с сырцами PHP, а именно в /root/install/php-5.2.6RC4/ext. После чего успешно распаковал его. Затем парочка осторожных действий:
    [root@idev ext]# cd memcache-3.0.1
    [root@idev memcache-3.0.1]# phpize
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519
    [root@idev memcache-3.0.1]# ./configure
    [root@idev memcache-3.0.1]# make

    Итого, результатом выполнения этих нехитрых действий оказалось:
    Libraries have been installed in:
    /root/install/php-5.2.6RC4/ext/memcache-3.0.1/modules
    [ skip ]
    Build complete.

    Тут же, я решил проверить достоверность сообщения:
    [root@idev memcache-3.0.1]# ls modules/
    memcache.la memcache.so

    И ведь действительно не соврал. Как вы догадываетесь дело остается за малым, прописать этот «экстеншн» в php.ini и проверить подсел ли он, через phpinfo().

    Вот такая вот история. Буду очень рад, если этот пост кому-нибудь поможет с такой же проблемой.

    Комментарии 17

      –1
      Хабракат!
        +1
        почему-то я сразу понял, каким будет первый коммент. А ведь и сказать-то больше нечего, правда? ;)
          0
          просто если меня тема заинтересует, я щелкну "читать дальше", а так приходится весь топик просматривать
          0
          Починил.
          +1
          Человече, как же ты так php поставил? Раскрой тему - что за дистрибутив, как ставил php
            0
            PHP собирал из сырцов в Fedora 8.
              –1
              Лучше ставь из RPM, потому что неумелая установка из сырцов ведет к негативным последствиям.
              Ну или хотя-бы ставь все по своим местам, пример конфига можно взять из srpm.
                0
                Простите, а в чем заключается не умелая установка? Поясните.
                  0
                  Тем, что возникают такие вот глюки
                    0
                    Ну тогда может быть я Вам скину строку конфигурирования и Вы поцдскажете мне, где ошибка?
                      0
                      Да, это можно
                        0
                        ./configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/sbin/apxs' '--enable-safe-mode' '--enable-libgcc' '--with-libxml-dir' '--enable-calendar' '--with-curl' '--with-openssl' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr/lib/' '--with-png-dir' '--with-zlib-dir' '--with-xpm-dir' '--with-ttf' '--enable-gd-native-ttf' '--enable-gd-jis-conv' '--enable-exif' '--enable-mbstring' '--with-mysql=/usr/local/mysql/' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-pdo-mysql=/usr/local/mysql' '--with-regex' '--enable-sigchild' '--with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client64/lib/
                          0
                          './configure' '--build=i686-pc-linux' '--host=i686-pc-linux' '--target=i686-pc-linux' '--program-prefix=' '--prefix=/usr' '--exec-pref
                          ix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/
                          usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-config-file-path=/etc' '--with-
                          config-file-scan-dir=/etc/php.d' '--disable-debug' '--disable-rpath' '--enable-inline-optimization' '--with-bz2=shared' '--with-curl=shared' '--with-curlwrap
                          pers=shared' '--with-curl-dir=/usr/local/lib' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr/local/lib' '--with-gd=shared' '--wit
                          h-gd-dir=/usr/local/lib' '--enable-gd-native-ttf=shared' '--with-ttf=shared' '--with-gettext=shared' '--with-ncurses=shared' '--with-gmp=shared' '--with-icon
                          v=shared' '--with-jpeg-dir=/usr/local/lib' '--with-openssl' '--with-png=shared' '--without-pspell' '--with-zlib=shared' '--with-zlib-dir=/usr/local/lib' '--w
                          ith-mcrypt=shared' '--without-tidy' '--with-layout=GNU' '--enable-bcmath=shared' '--enable-exi=sharedf' '--enable-ftp=shared' '--enable-magic-quotes' '--enab
                          le-safe-mode' '--enable-
                          sockets=shared' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-wddx=shared' '--without-oci8' '
                          --with-pear' '--enable-dba=shared' '--with-gdbm=shared' '--with-db4=shared' '--with-dbm=shared' '--with-inifile' '--with-flatfile' '--enable-xml=shared' '--w
                          ith-libxml-dir=/usr' '--enable-soap=shared' '--enable-wddx=shared' '--with-kerberos' '--with-imap=shared' '--with-imap-ssl=shared' '--with-mysql=shared,/usr'
                          '--with-mysqli=shared,/usr/bin/mysql_config' '--with-pdo-mysql=shared,/usr' '--without-pgsql' '--without-pdo-pgsql' '--enable-memory-limit' '--enable-bcmath
                          =shared' '--enable-shmop=shared' '--enable-calendar=shared' '--enable-dbx=shared' '--enable-dio=shared' '--enable-pcntl=shared' '--enable-mcal=shared' '--ena
                          ble-mbstring=shared' '--enable-mbregex=shared' '--with-apxs2=/usr/sbin/apxs' '--with-xmlrpc=shared' '--enable-wddx=shared' '--enable-sqlite-utf8' '--enable-t
                          okenizer=shared' '--enable-sqlite-utf8' '--with-sqlite=shared' '--enable-soap=shared' '--with-mysqli=shared' '--with-zend-vm=CALL' '--enable-fd-setsize=32768
                          ' '--with-libxml-dir=/usr/local' '--enable-pcntl' '--enable-maintainer-zts' '--with-xpm-dir=/usr/X11R6/lib' '--with-mssql=shared'
                            0
                            Простите, что это за детский сад?
              0
              И кстати, с такой проблем столкнулось много людей (так показал Google).
              0
              с проблемой не сталкивался, но все равно спасибо -возможно где-то и попадется.

              такой вопросик: а почему
              >php-5.2.6RC4

              а не релиз? или ставили, что было на тот момент?
                0
                Потому в ранних версиях были проблемы с oci8. Пришлось ставить кандидата на релиз.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое