Расширение PHP, загруженное в командной строке (cli), но не загруженное apache

Окончательное обновление.

Задача решена.

Способ решения проблемы заключается в том, что вы повторно устанавливаете Apache и PHP из источника, следуя инструкциям по следующей ссылке.

http://dan.drydog.com/apache2php.html

Затем выполните расширение, построив расширение непосредственно в PHP, следуя инструкциям по ссылке ниже.

Единственное, что двоичные файлы все только в конкретном пути, который, я думаю, является легкой проблемой для решения.

Спасибо всем, это мой первый пост в Stackoverflow, и я провел целый день, чтобы сделать свое первое расширение php. Хотя немного жестко, но мне это нравится! : D

Оригинальный вопрос

Я пытаюсь построить расширение php после инструкции по следующей ссылке:

http://docstore.mik.ua/orelly/webprog/php/ch14_03.htm

Я строю расширение «rot13» в php, используя следующие шаги

./buildconf ./configure --enable-rot13 make sudo make install 

Затем я проверил расширение с помощью командной строки php. Результат точно такой же, как в приведенной выше статье.

Полагаю, что после того, как я построю расширение на php, мне не нужно заботиться о файле php.ini. Затем я пытаюсь протестировать расширение в браузере, я выясню, что страница phpinfo () ничего не говорит о новом расширении, в то время как команда php -m показывает, что мое расширение загружено. Я проверил журнал apache2, ошибки нет.

Я почти за один день дошел до игры и не понял. Некоторые потоки аналогичны в stackoverflow, но не имеют реальных рабочих решений.

Моя система – Ubuntu 11.10 и php 5.3.10 и apache2.2.20.

Если у вас есть подсказки, пожалуйста, помогите. Благодаря!

Обновить:

Я поместил расширение = rot13.so в файл php.ini по пути /etc/php5/apache2/php.ini, но теперь, когда я перезапускаю сервер apache2, я получил следующую ошибку.

 PHP Warning: PHP Startup: rot13: Unable to initialize module Module compiled with build ID=API20090626,TS,debug PHP compiled with build ID=API20090626,NTS 

Эти параметры должны совпадать в Unknown в строке 0

Кто-нибудь знает, что вызвало эту ошибку?

BTW, когда я компилирую расширение, я использовал ./configure –enable-rot13 –with-php-config = / usr / local / bin / php-config, чтобы убедиться, что он использует файл конфигурации php.

Обновление снова:

Я узнаю, что phpinfo () с веб-страницы имеет другую версию php -i, которую я получаю из командной строки … Как это странно? Я попытаюсь разобраться в этом конфликте.

Related of "Расширение PHP, загруженное в командной строке (cli), но не загруженное apache"

В Ubuntu есть 2 файла php.ini, один для CLI и один для apache.

По умолчанию они находятся в /etc/php5/cli/php.ini и /etc/php5/apache2/php.ini .

В вашем случае вам нужно включить расширение в файле apache2 php.ini.