Copy the libCoolProp.so file into the extension-dir for php:
sudo cp libCoolProp.so `php-config --extension-dir`
This copies the shared library into a location that PHP can load. sudo is needed to make the copy. Alternatively, in the following step you will need to use the full path to the extension, which is just a bit more annoying.
Put the CoolProp.php with the rest of your sources. This is the interface file between your PHP code and the CoolProp module.
Modify the PHP.ini file that PHP will load to add:
extension = "libCoolProp.so"
[PHP]. If you didn’t copy libCoolProp.so into the folder given by
`php-config --extension-dir`you will need to use the absolute path
You can determine the php.ini file that you should be modifying by creating a file on the server with the contents
<?php phpinfo(); ?>
Modify the file given by
Loaded Configuration File.
To enable some useful debugging at runtime (turn off for deployment), you can add
<?php error_reporting (E_ALL); ini_set ('display_errors', true); ... ?>
This stub file shows how to call the module
<?php require "CoolProp.php"; $p = 101325; $Q = 1.0; $T = PropsSI("T","P",$p,"Q",$Q,"Water"); print "NBP of water is $T\n"; ?>
Since most servers that will serve PHP will be linux, only linux instructions are shown here. In principle very minor changes should be required to get this working on windows.
Compilation of the php wrapper requires a few common wrapper pre-requisites
Additionally, you need SWIG, which can be obtained on Debian-based OS with:
sudo apt-get install swig
On Ubuntu 16.04 LTS, the default PHP is 7.0, which is not compatible with SWIG as of Aug 10, 2016. So to get PHP 5.6 on ubuntu 16.04, you can do:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php5.6 php5.6-dev
Check out CoolProp:
git clone https://github.com/CoolProp/CoolProp --recursive
mkdir -p CoolProp/build && cd CoolProp/build
Build the php module:
cmake .. -DCOOLPROP_PHP_MODULE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON
Build (verbosely so we can see if there are any problems):
cmake --build .
This will generate the file libCoolProp.so and the php module CoolProp.php
- See the above instructions in the Pre-Compiled Binaries section for installation instructions