0

我使用以下链接创建了一个简单的 PHP 扩展:

Ubuntu 上的 Hello World PHP 扩展示例

我已经成功创建了一个 PHP 扩展作为hello.so. 我已经使用XAMPP了包,在这个包中我已经把它移到hello.so/opt/lampp/modules/ 并且我已经包含了这一行:

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

尽管如此,如果我从命令提示符调用该函数,例如:

$ php -r ‘hello_world();’

即使我收到错误为函数未定义。

4

2 回答 2

0

首先测试您的 php.ini 文件是否成功包含扩展名。用于检查调用 phpinfo() 函数。

如果它在那里

php -r 'echo hello_world();'

在命令提示符下运行此命令。我认为您在触发命令时缺少回声。您使用回声是因为它返回了一些东西。

注意:包含扩展名后重新启动您的 apache 服务。

sudo service apache2 restart
于 2013-09-25T10:12:39.780 回答
0

要构建PHP扩展,在 Linux 中创建C文件后,您必须运行以下命令:

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

不要忘记运行:

$ sudo make install

如果您运行此命令,默认情况下您新创建的扩展模块 ( .so) 将被移动到默认的动态扩展路径(该路径将在运行该命令后显示)

PHP.INI然后在该部分的文件中提及此动态扩展路径,dynamic_extension directory并将您的.so文件包含在该Dynamic Extension部分中。然后重新启动Apache服务器,这肯定会正常工作。

于 2013-11-20T09:27:38.883 回答