Is the header version for PHP when the library is from my distribution?
This means that it was compiled against the 1.0.1 headers, but is now dynamically linked to 0.9.8. Thus, you are using an older version than what was used when compiling PHP.
Many libraries store the version in header files. Therefore, when a program uses the library, it can do something like int HEADER_FOO_VERSION = LIBRARY_VERSION
, which inserts this version number into the program (for example, php). Now, when this program starts, it dynamically links to a library, which may be different than on the host system.
This library may have a function call, for example int get_library_version()
. Thus, a program (PHP) can check if HEADER_FOO_VERSION == get_library_version()
. If it is different, then a compatibility issue may arise. (Of course, he does not need to assign a local variable ... I'm just trying to bring home that the version number of the header can be compiled in php and remains constant no matter what version of the library is used at runtime.)
Whether this is a problem depends on the compatibility of the two versions.
Usually, if the library is> than the title, you are fine. This is definitely more likely to be a problem if the library is older than the version with which it was linked. Of course, this is because it is impossible to find out what changes future versions may have.
So, in your case, I will try to upgrade your SSL system libraries via apt-get
, yum
, etc., to match the version expected by PHP.
To check which version of php is used on Linux:
$ ldd `which php` | grep ssl libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0
Note that which php
is just a short description to find the full path. You can program any executable you want to check: ldd /usr/sbin/httpd
.