2013-09-25 6 views
0

Я создал один простой PHP Extension, используя следующую ссылку:PHP Extension не работает в LINUX

Sample Hello World PHP extension on Ubuntu

Я успешно создал PHP Extension, как hello.so. Я использовал XAMPP пакет, в этом я переместил это hello.so к /opt/lampp/modules/ и я включил линию:

extension=hello.so in /opt/lampp/etc/**php.ini** 

Eventhough, если я назвал функцию из командной строки, как:

$ php -r ‘hello_world();’ 

даже я получаю сообщение об ошибке как функция undefined.

+0

перезапустить службу Apache после добавления расширения –

+1

Что такое вывод php -m, Он показывает все загруженные модули. Вы можете увидеть свое «привет» в списке? – Vineesh

+0

@Swapnil Patil, я думаю, что нет необходимости перезапускать apache, если он запускает скрипт через командную строку. – Vineesh

ответ

0

Сначала проверьте файл php.ini, добавлено ли расширение успешно или нет. Для проверки функции вызова phpinfo().

Если она есть, то

php -r 'echo hello_world();' 

запустить это на команды prompt.I думает, что ваше отсутствующее эхо при стрельбе command.You есть использование эхо, потому что это что-то вернуть.

Примечание: перезапустите службу apache после включения расширения.

sudo service apache2 restart 
0

Чтобы построить расширение PHP, после создания C файла в Linux`, вы должны выполнить следующие команды:

$ phpize 
$ ./configure --enable-hello 
$ make 

И не забудьте запустить:

$ sudo make install 

Если вы запустите эту команду, по умолчанию ваш вновь созданный модуль расширения (.so) будет перемещен на путь динамического расширения по умолчанию (путь будет отображаться d после выполнения этой команды)

Затем уже этот путь динамического расширения в PHP.INI файле в разделе dynamic_extension directory и включают в свой .so файл в разделе Dynamic Extension. Затем перезапустите сервер Apache и, безусловно, это сработает.

Смежные вопросы