Создание ошибки: фатальная ошибка: pcre.h: нет такого файла или каталога

Я только что закончил установку Ubuntu 13.10.

Я хочу попробовать Phalcon, и когда я создаю исходный код (phalcon.so), у меня возникает эта ошибка:

     from /home/fabrice/Downloads/cphalcon/build/32bits/phalcon.c:204:
/usr/include/php5/ext/pcre/php_pcre.h:29:18: fatal error: pcre.h: No such file or directory
 #include "pcre.h"
                  ^
compilation terminated.
make: *** [phalcon.lo] Erreur 1

Моя установка лампы:

sudo apt-get install -y apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-curl php5-imagick php5-mcrypt php5-memcache php5-sqlite php5-xdebug php-apc php5-intl php-dev-mongo gcc

Кто-нибудь может мне помочь ?


person fabrice    schedule 21.03.2014    source источник
comment
php -v: Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so: неопределенный символ: php_end_ob_buffer in Unknown on line 0 PHP 5.5.3-1ubuntu2.2 (cli) (построено: 28 февраля 2014 г., 20:03:35) Авторское право (c) 1997-2013 гг. PHP Group Zend Engine v2.5.0, Авторское право (c) 1998-2013 гг. Zend Technologies с Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, Zend Technologies с Xdebug v2.2.3, Copyright (c) 2002-2013, Derick Rethans   -  person fabrice    schedule 21.03.2014


Ответы (3)


Последняя версия Phalcon использует библиотеки PCRE.

Вы можете установить их так:

sudo apt-get install libpcre3-dev

а затем попробуйте снова установить Phalcon

Для CentOS вам нужно будет использовать

sudo yum install pcre-devel

Кредиты: @ xgretsch

Для Mac вы можете использовать

brew install pcre

Кредиты @ Брэндон Романо

Для Mac без brew

Перейдите на https://www.pcre.org/ и загрузите последнюю версию pcre :,

tar -xzvf pcre-8.42.tar.gz
cd pcre-8.42
./configure --prefix=/usr/local/pcre-8.42
make
make install
ln -s /usr/local/pcre-8.42 /usr/sbin/pcre
ln -s /usr/local/pcre-8.42/include/pcre.h /usr/include/pcre.h

Кредиты @ user1377324

person Nikolaos Dimopoulos    schedule 21.03.2014
comment
На Mac вы можете использовать: brew install pcre - person Brandon Romano; 04.07.2014
comment
Спасибо, что, похоже, устранили проблему для меня при установке расширения PHP mongodb с помощью PECL. - person Carlos F; 14.02.2016

Чтобы включить файл pcre.h, найдите в архивах пакетов файл pcre.h. Для этого я использую команду под названием apt-file (

apt-get установить apt-файл

а также

обновление apt-файла

если он у вас не установлен).

Затем найдите пакет pcre:

поиск apt-файла -x "/pcre.h$"

-X сообщает команде, что я хочу использовать регулярное выражение в качестве шаблона. apt-файл предоставил мне три обращения:

  • kannel-dev: /usr/include/kannel/gwlib/pcre.h
  • libajax6-dev: /usr/include/ajax/pcre.h
  • libpcre3-dev: /usr/include/pcre.h

Последний - тот, который я хочу:

apt-get установить libpcre3-dev

Это решит проблему с компиляцией файла pcre.h. Надеюсь, это поможет другим, которые могут найти ответ на эту тему.

person stackMonk    schedule 10.12.2015

Для Mac OSX Maverick вы можете использовать

brew install pcre

если это дает вам ошибку, вы можете использовать

sudo ln -s /opt/local/include/pcre.h /usr/include/
sudo pecl install apc 

Я установил pcre через homebrew в Big Sur, так что он связан как:

sudo ln -s /opt/homebrew/include/pcre2.h /usr/local/include/
person Astm    schedule 01.06.2016