略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: 安装

2024-12-22

安装

安装此 PECL 扩展相关的信息可在手册中标题为 PECL 扩展的安装章节中找到。更多信息如新的发行版本、下载、源文件、 维护人员信息及变更日志等,都在此处: » 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
4 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
8 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
8 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
11 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

官方地址:https://www.php.net/manual/en/paradox.installation.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3