Can someone explain how they get DreamFactory working when it requires outdated PHP extensions that have not been updated in years??
Here is a list of extensions I was trying to install, however, installation kept failing no matter what I tried. That forced me to reach out to my web host (LiquidWeb) and ask them to install the PHP extensions for me. They were only able to install a few of the required PHP extension because some of them are outdated and have not been updated in years and do not work with PHP 7.1 or above. Here is the list of PHP extensions and the response from my web host.
Hello, I’ve looked into this and installed some of the requested PHP extensions via PECL. This is what I’ve managed to install on PHP 7.0, PHP 7.1, PHP 7.2 and PHP 7.3
- MEMCACHED [done]
- COUCHBASE [done]
- CASSANDRA [done]
- APC [failed]
- V8JS [failed]
- PDO_FIREBIRD [failed]
- PDO_PGSQL [done]
When I run the DreamFactory ./installer.sh I get the following message at the completion of running it.
Required PHP extensions that need to be installed:
** cassandra**
** apc**
** v8js**
** pdo_firebird**
As you can see in the response from my host “Cassandra” was installed but is not being detected by DreamFactory.
As for the Outdated PHP extensions here is what my web host has reported for the following.
I’ll try to provide as much details as to why some of the above-requested PHP extensions have failed installation.
4. APC [failed]
root@host [2533 14:22:14 ~]# /opt/cpanel/ea-php70/root/usr/bin/pecl install apc
/root/tmp/pear/APC/apc.c:47:43: fatal error: ext/standard/php_smart_str.h: No such file or directory
include “ext/standard/php_smart_str.h”
^
compilation terminated.
make: *** [apc.lo] Error 1
ERROR: `make’ failed
Reason why this is failing seems to be related to outdated APC code which hasn’t been updated since 2012 (https(://) pecl.php (.net)/package/APC)
The above error refers to the following API / function: smart_str was renamed into smart_string in PHP 7.X. What this means is that APC is not installable for PHP 7.0 and above, PHP 5.6 seems to be the last compatible version.
An alternative to APC would be OPcache. The PHP developers directly integrated what they call OPCache into the core of the product. Not only does this provide greater overall product stability, it is officially supported by the PHP developers.
5. V8JS [failed]
root@host [2494 12:30:29 ~]# /opt/cpanel/ea-php70/root/usr/bin/pecl install v8js
checking for V8 files in default path… not found
configure: error: Please reinstall the v8 distribution
ERROR: `/root/tmp/pear/v8js/configure --with-php-config=/opt/cpanel/ea-php70/root/usr/bin/php-config --with-v8js=/usr/lib64/’ failed
I’ve tried installing this with the latest available version of v8js ([2.1.0](https (://) pecl.php (.net)/package/v8js/2.1.0)) via PECL but it seems to be incompatible with the latest version available in the operating system repository (v8-3.14.5) which I’ve shared below:
root@host [2509 12:46:21 ~]# yum list installed | grep v8 v8.x86_64 1:3.14.5.10-25.el7 @epel v8-devel.x86_64 1:3.14.5.10-25.el7 @epel v8-python.x86_64 1:3.14.5.10-25.el7 @epel
I’ve looked into the changelog of v8js on PECL and found that version 0.2.0 mention’s this in changelog (- adapt to latest v8 API (v8 versions from 3.24.6 up to latest 4.3 branch supported now)) since current available version in CentOS repository is v8-3.14.5 V8jS PECL extension doesn’t seems to be compatible with it for installation.
So we were faced with the option to either try to compile v8 or try install a very old version probably unsupported by PHP7.x
6. PDO_FIREBIRD [failed]
root@host [2526 13:30:40 ~]# /opt/cpanel/ea-php70/root/usr/bin/pecl install channel://pecl.php.net/PDO_FIREBIRD-0.2
WARNING: channel “pear.php.net” has updated its protocols, use “pecl channel-update [pear.php (.net)](http (://) pear.php (.net)/)” to update
pear/PDO_FIREBIRD requires PHP (version >= 5.0.3, version <= 6.0.0), installed version is 7.0.33
No valid packages found
install failed
Installation of PDO_FIREBIRD on PHP 7.X doesn’t seem to be possible, when trying to install it states the requirements are PHP (version >= 5.0.3, version <= 6.0.0)
The extension itself wasn’t updated since 2005 more details available at this URL: https (://) pecl.php (.net)/package/PDO_FIREBIRD
If there’s anything else we can be of assistance, please don’t hesitate to respond back and let us know.
If this is the case with the PHP extensions how do people actually get DreamFactory working using the latest PHP versions 7.1 - 7.2 - 7.3 Or are these PHP extensions not required in order for DreamFactory to work to it’s fullest capacity on the OSS version??
I am hoping someone is able to provide some helpful advice so that I can actually get DreamFactory working.
I am trying to use DreamFactory on a LiquidWeb VPS - CentOS 7 - PHP - MySQL - cPanel - Linux - Apache server.