# set up php5.5 # http://www.liquidweb.com/kb/how-to-install-apache-on-centos-7/ # https://www.linode.com/docs/websites/lamp/lamp-server-on-centos-7 # https://www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/ yum install httpd # enable ports: firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp systemctl start httpd systemctl enable httpd systemctl status httpd # systemctl stop httpd yum install wget # get php5.5 from remi repo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7*.rpm epel-release-7*.rpm # Enable remi repo and specifically php5.5 repo: nano -cw /etc/yum.repos.d/remi.repo # install php yum install php php-gd php-mysql php-mcrypt php-mbstring # Saxon C setup cd /opt wget http://www.saxonica.com/saxon-c/libsaxon-HEC-setup64-v0.3.1.zip yum install zip unzip unzip libsaxon-HEC-setup64-v0.3.1.zip # run the Saxon/C installer and give the install path: /usr/lib/saxonica ./libsaxon-HEC-setup64-v0.3.1 # fix permissions chown -R root /usr/lib/saxonica chmod -R u+r /usr/lib/saxonica # create symlinks ln -s /usr/lib/saxonica/libsaxon.so /usr/lib/libsaxon.so ln -s /usr/lib/saxonica/rt /usr/lib/rt nano -cw /etc/ld.so.conf.d/jetvm.conf: # add the following 3 lines: #JetVM env path - required for Saxon /usr/lib/saxonica/rt/lib/amd64 /usr/lib/Saxonica/rt/lib/amd64/jetvm ldconfig # Set apache envvars, on Centos7 this should be done in: nano -cw /etc/sysconfig/httpd # Append to the end of the file: ## Saxonica Saxon HEC support LD_LIBRARY_PATH=/usr/lib/saxonica/rt/lib/amd64:/usr/lib/saxonica/rt/lib/amd64/jetvm:$LD_LIBRARY_PATH # create a module configuration file: nano -cw /etc/php.d/saxon.ini # Add these two lines: ; configuration for php Saxon HEC module extension=/usr/lib/saxonica/php_lib/saxon.so # At this point the Saxon C module registers: php -m | grep saxon -i Saxon/C # And also phpinfo() has a proper Saxon/C section. # But trying to run Saxon/C in php fails: php /var/www/html/saxon-c/index.php FATAL ERROR: Unable to load /usr/lib/saxonica/rt/lib/amd64/libjava.so (libjvm.so: cannot open shared object file: No such file or directory) JNI_CreateJavaVM() failed with result-1 # however, adding a symlink to libjvm.so as you have pointed out earlier fixes this problem: ln -s /usr/lib/saxonica/rt/lib/amd64/jetvm/libjvm.so /usr/lib/libjvm.so # trying php cli again: php /var/www/html/saxon-c/index.php # now the transformation works, the xslt transformation uses some xslt2 regex functions that work as intended # Now running Saxon/C with commandline php works, but you still can't run Saxon/C with php through the apache web server: # Trying to load the saxon-c page again (no output) # Trying to troubleshoot: [root@centos7 lib64]# systemctl status httpd -a | grep saxon nov. 24 12:46:29 centos7.vm httpd[11166]: Unable to load /usr/lib/libsaxon.so nov. 24 12:46:29 centos7.vm httpd[11166]: /usr/lib/libsaxon.so doesn't contain public JNI_GetDefaultJavaVMInitArgs # have tried adding these symlinks, but it doesn't help: ln -s /lib/libjvm.so /lib64/libjvm.so ln -s /lib/libsaxon.so /lib64/libsaxon.so # any suggestions?