PHP Velho Oeste 2024

Installation

Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » https://pecl.php.net/package/paradox

Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.

add a note add a note

User Contributed Notes 4 notes

up
5
Nikola Kotarov
9 years ago
If you try on newer versions of php (like 5.5 and above) it is not working with pecl, so you need to do it manually. Get package, untar it and then apply this patch:

--- paradox-1.4.3/paradox.c    2007-09-25 15:12:42.000000000 +0300
+++ paradox.c    2015-04-22 16:42:13.399878251 +0300
@@ -48,7 +48,7 @@
  *
  * Every user visible function must have an entry in paradox_functions[].
  */
-function_entry paradox_functions[] = {
+zend_function_entry paradox_functions[] = {
     PHP_FE(px_new, NULL)
     PHP_FE(px_open_fp, NULL)
     PHP_FE(px_create_fp, NULL)
@@ -89,7 +89,7 @@
};
/* }}} */

-function_entry paradox_funcs_db[] = {
+zend_function_entry paradox_funcs_db[] = {
     PHP_ME_MAPPING(__construct, px_new, NULL, 0)
     PHP_ME_MAPPING(open_fp, px_open_fp, NULL, 0)
     PHP_ME_MAPPING(create_fp, px_create_fp, NULL, 0)
@@ -283,7 +283,7 @@

     ALLOC_HASHTABLE(intern->zo.properties);
     zend_hash_init(intern->zo.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
-    zend_hash_copy(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+    object_properties_init((zend_object*) &(intern->zo), class_type);

     intern->ptr = PX_new2(px_custom_errorhandler, px_emalloc, px_erealloc, px_efree);
     retval->handle = zend_objects_store_put(intern, paradox_object_dtor, NULL, NULL TSRMLS_CC);

then to compile it with

phpize
./configure
make
make install

You could do make test also, but some tests are broken.
up
1
admin at aldisa dot ca
13 years ago
FreeBSD users BEWARE, this extension will not compile and install with the "pecl install paradox" command.

The configure script fails because it tries to use a library (libdl.a) that is available by default in Linux but not on FreeBSD.  I had to alter the configure script and install the package manually.

I have reported this on the package page as a bug, but there does not seem to be any movement in maintaining this package, so I am posting this here for anyone having trouble trying to install this package on FreeBSD.
up
0
etlapa
13 years ago
This was my experience in Ubuntu distro. I install everything from console. Type:

    sudo aptitude install php-pear
    sudo aptitude install php5-dev
    sudo aptitude install pxlib1
    sudo aptitude install pxlib-dev

    sudo pecl install paradox

Display your php config by using the phpinfo() and
find the path shown at "Scan this dir for additional .ini files"

In my case I found "/etc/php5/apache2/conf.d"

At this path create a file name "paradox.ini" with this content:

    extension=paradox.so

Then type "php --info | grep paradox" to verify the configuration is read properly and there are no errors.  You should see something like...

     /etc/php.d/paradox.ini,
     paradox

service httpd restart. In my case:

    sudo /etc/init.d/apache2 restart
up
0
john dot navratil at sbcglobal dot net
16 years ago
You will need 'pecl' and 'phpize'.  Make sure the php-pear (for pecl) and php-devel (for phpize) packages are installed.

Download pxlib package from pxlib.sourceforge.net.  expand/config/make/make install.  No tricks there.

pecl install paradox

Edit php.ini or, preferably, create /etc/php.d/paradox.ini to contain:

     extension=paradox.so

'php --info | grep paradox' to verify the configuration is read properly and there are no errors.  You should see something like...

     /etc/php.d/paradox.ini,
     paradox

service httpd restart
To Top