2016-02-16 3 views
1

У меня есть файл .so, созданный с помощью SWIG. Я хотел бы использовать функции, определенные там как расширение php. Как добавить их в качестве расширения php?Добавить .so как расширение php

Я добавил .so в каталог расширений, а в php.ini добавлена ​​строка: «extension = example.so», а затем перезапустили apache.

Тем не менее, когда я бегу: php -d "extension=example.so" -m, он не появляется, как расширение, и говорит: "Unable to load dynamic library '/usr/lib/php5/...../example.so. cannot open shared object file: Permission denied in Unknown on line 0"

Тем не менее, права доступа 777

Permisions

permissions

PHP .so папка

extensions folder

файл php.ini

php.ini file enter image description here

проверки для расширения [checking for extension[5]

Extension "example.so" не существует.

+0

является вашим расширением_dir правильно? это php командной строки php.ini? –

+0

1. он находится в правильном каталоге. 2. Я добавил расширение к/cli/php.ini. Я только что заметил, php -d "extension = xxxxx.so, говорит: Невозможно загрузить динамическую библиотеку '/usr/lib/php5/...../xxxxx.so. Не удается открыть файл общих объектов: Permissino denied в Unknown на линии 0 – OliverGainess

+0

изменить разрешения вашего .so тогда :) 'chmod 755 {so}' –

ответ

0

решаемые путем добавления полного пути .so к php.ini

extension=/full/path/to/so/example.so 

Таким образом, добавление .so в папку расширений PHP не требуется. .so может находиться в любом каталоге.

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