Depending on the build process you selected, you should either end up
with a new PHP binary to be linked into your Web server (or run as CGI), or with an _so (shared object) file_ If you compiled the
example file first_module_c as a shared object, your result file
should be first_module_so_ To use it, you first have to copy
it to a place from which it's accessible to PHP_ For a simple test procedure,
you can copy it to your htdocs directory and try it with
the source in Ejemplo 29_1_
If you compiled it into the PHP binary,
omit the call to dl(), as the module's
functionality is instantly available to your scripts_
| Aviso |
For security reasons, you should not put your
dynamic modules into publicly accessible directories_ Even though it can be
done and it simplifies testing, you should put them into a separate directory
in production environments_
|
Ejemplo 29_1_ A test file for first_module_so_ <?php
// remove next comment if necessary
// dl("first_module_so");
$param = 2;
$return = first_module($param);
print("We sent '$param' and got '$return'");
?> |
|
Calling this PHP file in your Web browser should give you the
output shown in Figura 29_1_
If required, the dynamic loadable module is loaded by calling the
dl() function_ This function looks for the
specified shared object, loads it, and makes its functions
available to PHP_ The module exports the function
first_module(), which accepts a single
parameter, converts it to an integer, and returns the result of the
conversion_
If you've gotten this far, congratulations! You just built your
first extension to PHP_