Supported Platforms

The PHP edition of E-Payment Integrator 2024 uses the Foreign Function Interface (FFI) functionality supported in PHP 7.4 and up. This approach means there is no PHP extension, only .php files and native binaries. The sections below provide further details on each supported platform.

Windows

When running the Windows setup (.exe) the installer will automatically attempt to locate your PHP installation and modify your php.ini file to enable the required Foreign Function Interface (FFI) extension.

The installation consists of PHP files in the "include" folder, and a native library in the "lib" and "lib64" folders. The same dll is used for all versions of PHP.

The native dll must be present in one of the directories listed in the PATH environment variable on the system. The setup will automatically install the 64-bit library to %WinDir%\System32 and the 32-bit library to %WinDir\SysWOW64 in an effort to make the product dll available by default.

After installation is complete, restart your Web Server so that the changes will be loaded.

In the case where the PHP installation cannot be automatically located, a manual installation will be required once the installer has completed. To perform a manual installation follow these steps:

1) Modify the php.in file to include the FFI extension. For instance:

  extension=ffi

2) Modify the php.ini to ensure FFI is enabled. For instance:

  [ffi]
  ; FFI API restriction. Possible values:
  ; "preload" - enabled in CLI scripts and preloaded files (default)
  ; "false"   - always disabled
  ; "true"    - always enabled
  
  ffi.enable=true

3) Verify the inpay24.dll is present in %WinDir%\System32 or %WinDir%\SysWOW64 depending on the architecture of the PHP environment. The product dll may also be placed in any other directory that is specified in the PATH environment variable for the system.

4) Restart your Web Server.

You should now be able to successfully run any of the demos included in the toolkit.

Linux/Unix/macOS

The installation consists of PHP files in the "include" folder, and native .so files in the "lib" and "lib64" folders. The same native .so is used for all versions of PHP.

To configure your system so that E-Payment Integrator 2024 can be used follow the steps below:

1) Modify the php.in file to include the FFI extension. For instance:

  extension=ffi

2) Modify the php.ini to ensure FFI is enabled. For instance:

  [ffi]
  ; FFI API restriction. Possible values:
  ; "preload" - enabled in CLI scripts and preloaded files (default)
  ; "false"   - always disabled
  ; "true"    - always enabled
  
  ffi.enable=true

3) Verify the libinpay.so.24.0 file is present in /usr/lib and permissions include read access.

4) Restart your Web Server.

You should now be able to successfully run any of the demos included in the toolkit.

SELinux Notes

When running on a Linux environment using SELinux, a cannot allocate callback error may be raised when attempting to create an instance of one of the components. This is caused by SELinux restrictions, and the following commands can help to resolve the issue:

  sudo setsebool -P httpd_execmem on     // allows Apache (and php-fpm) to execute code in memory
  sudo setsebool -P httpd_tmp_exec on    // allows Apache (and php-fpm) to execute files in /tmp
  sudo systemctl restart php-fpm         // restarts php-fpm so the changes take effect

If these settings cannot be used in your environment due to other security concerns, our support team can assist with alternative options.