©
本文档使用 PHP中文网手册 发布
安装此 PECL 扩展相关的信息可在手册中标题为 PECL 扩展的安装章节中找到。更多信息如新的发行版本、下载、源文件、 维护人员信息及变更日志等,都在此处: » http://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.
[#1] Nikola Kotarov [2015-04-22 15:03:37]
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.
[#2] admin at aldisa dot ca [2011-01-24 20:16:18]
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.
[#3] etlapa [2010-08-07 12:21:06]
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
[#4] john dot navratil at sbcglobal dot net [2008-04-20 11:31:54]
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