Загрузка моих встроенных модулей PHP завершилась без ошибок - PullRequest
0 голосов
/ 03 апреля 2019

Я собрал свой php-модуль hello_world, выполнив следующие действия: https://zando.io/post/hello-world-php-7-extension/

И я успешно построил hello.so под модулями /

Но когда я попытался загрузить этот hello.so, он не удался.

(добавив extension=hello.so в php.ini и поместив файл .so в extension_dir)

var_dump(extension_loaded('hello'));
var_dump(hello_world());

Выход:

bool(false)
Fatal error: Uncaught Error: Call to undefined function hello_world() in /var/www/app/test.php(2) : eval()'d code:1 Stack trace: #0 /var/www/app/test.php(2): eval() #1 {main} thrown in /var/www/app/test.php(2) : eval()'d code on line 1

Но когда я попытался загрузить файл hello_world моего друга, он работает !!

(тот же исходный код, тот же процесс сборки ...)

Я действительно не знаю, почему ...

1 Ответ

0 голосов
/ 03 апреля 2019

Я решил эту проблему.

Поскольку я использую неправильную версию phpize и php-config.

phpinfo() показывает, что PHPAPI равно 20170718

Но мой оригинальный phpize показывает 20180731

Поэтому я переустанавливаю php7.2-dev.

Затем запускаю phpize7.2, а затем ./configure --with-php-config=/usr/bin/php-config7.2 для настройки параметров.

И это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...