DA-PgSQL plugin problems

I’m trying to get the DA-PgSQL plugin to work as expected on a Centos 6.4 box with DirectAdmin, but Im seeing only messages like Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/FLMncKDmkhXk.inc.php): failed to open stream: No such file or directory in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0 ... – in other words – the plugin is currently not working.

We tried to solve this together with DAPlugin’s Support Team (ticket #RQZ-4BEF6-2B1), but we ended up that maybe I should share root and admin access with the Support Team. And of course I’m trying to avoid this ;-)

That’s why I’ve decided to investigate more and write it down, here on my blog, and share it, because I’ve seen other people with similar problems.


Where’s the problem?

The main problem is that DA-PgSQL somehow isn’t able to create temporary files in /usr/local/directadmin/plugins/pgsql/include/cache/ but is expecting these files at the given location. This causes in DirectAdmin errors like:

 Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/npdbWpw7lX1I.inc.php): 
    failed to open stream: No such file or directory 
    in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

Fatal error: require(): 
    Failed opening required '/usr/local/directadmin/plugins/pgsql/include/cache/npdbWpw7lX1I.inc.php' 
    (include_path='.:/php/includes')
    in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0 

Debugging encoded files

Yeah, I know, it’s not easy to debug encoded files, but let’s try at least to do some basic checks. I will run all files in /usr/local/directadmin/plugins/pgsql/include/{.,*.}php against two different PHP versions – 5.2.17 (Test 1) and 5.3.18 (Test 2) and present the results below.

Test 1 – PHP 5.2.17

PHP version and config details

# /usr/local/php52/bin/php -v \
    -c /usr/local/directadmin/plugins/pgsql/include/php52.ini 

PHP 5.2.17 (cli) (built: Nov  5 2013 16:33:11) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
    with NuSphere PhpExpress v3.0.0, Copyright (c) 2002-2010 NuSphere Corp, by Dmitri Dmitrienko

The one-liner:

A simple one-liner will do the job:

for i in /usr/local/directadmin/plugins/pgsql/include/{.,*.}php; \
do \
    echo -e "#### Executing: $i:\n----"; \
    /usr/local/php52/bin/php \
        -c /usr/local/directadmin/plugins/pgsql/include/php52.ini \
        -f $i; \
    echo -e "\n----\n\n"; \
done

The result:

#### Executing: /usr/local/directadmin/plugins/pgsql/include/.php:
----
<meta http-equiv=refresh content="0; url=javascript:history.back()">
----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/common.inc.php:
----
sh: /usr/local/directadmin/plugins/pgsql/include/externals/wrapper_pgsql: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/0oeXzdZjgYbu.inc.php): failed to open stream: No such file or directory in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

Fatal error: require(): Failed opening required '/usr/local/directadmin/plugins/pgsql/include/cache/0oeXzdZjgYbu.inc.php' (include_path='.:/php/includes') in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/config.inc.php:
----

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/define.inc.php:
----

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/global.func.php:
----
Access denied
----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_cron.php:
----
sh: /usr/local/directadmin/plugins/pgsql/include/externals/wrapper_pgsql: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/bd2cCsEyCZQw.inc.php): failed to open stream: No such file or directory in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

Fatal error: require(): Failed opening required '/usr/local/directadmin/plugins/pgsql/include/cache/bd2cCsEyCZQw.inc.php' (include_path='.:/php/includes') in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_export.php:
----
<meta http-equiv=refresh content="0; url=javascript:history.back()">
----

Test 2 – PHP 5.3.18

Now testing against PHP version (5.3.18) installed with DirectAdmin.

PHP version and config details

# /usr/local/bin/php -v \
    -c /usr/local/directadmin/plugins/pgsql/include/php53.ini 

PHP 5.3.18 (cli) (built: Nov  7 2012 01:55:46) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with NuSphere PhpExpress v3.0.0, Copyright (c) 2002-2010 NuSphere Corp, by Dmitri Dmitrienko
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

The one-liner:

The same one-liner but with another PHP version and with another php.ini (because 5.2 and 5.3 use different versions of required encoders).

for i in /usr/local/directadmin/plugins/pgsql/include/{.,*.}php; \
do \
    echo -e "#### Executing: $i:\n----"; \
    /usr/local/bin/php \
        -c /usr/local/directadmin/plugins/pgsql/include/php53.ini \
        -f $i; \
    echo -e "\n----\n\n"; \
done

The result:

#### Executing: /usr/local/directadmin/plugins/pgsql/include/.php:
----

Fatal error: Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 4 in /usr/local/directadmin/plugins/pgsql/include/.php on line 0

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/common.inc.php:
----
sh: /usr/local/directadmin/plugins/pgsql/include/externals/wrapper_pgsql: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/0lIs9ONR3Tha.inc.php): failed to open stream: No such file or directory in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

Fatal error: require(): Failed opening required '/usr/local/directadmin/plugins/pgsql/include/cache/0lIs9ONR3Tha.inc.php' (include_path='.:/php/includes') in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/config.inc.php:
----

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/define.inc.php:
----

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/global.func.php:
----
Access denied
----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_cron.php:
----
sh: /usr/local/directadmin/plugins/pgsql/include/externals/wrapper_pgsql: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Warning: require(/usr/local/directadmin/plugins/pgsql/include/cache/orTI3E385UpM.inc.php): failed to open stream: No such file or directory in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

Fatal error: require(): Failed opening required '/usr/local/directadmin/plugins/pgsql/include/cache/orTI3E385UpM.inc.php' (include_path='.:/php/includes') in /usr/local/directadmin/plugins/pgsql/include/global.func.php on line 0

----


#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_export.php:
----

Fatal error: Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 4 in /usr/local/directadmin/plugins/pgsql/include/pg_export.php on line 0

----

Tests summary

Probably the most interesting part in both test results is:

#### Executing: /usr/local/directadmin/plugins/pgsql/include/global.func.php:
----
Access denied
----

because this is not a PHP error, this looks like a DA-PgSQL message, and I was running both tests as root. Can this error be caused by a /tmp partition mounted with noexec?

And the other error message, which appears only when testing against PHP 5.3.18 (Test 2):

#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_export.php:
----
Fatal error: Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 4 in /usr/local/directadmin/plugins/pgsql/include/pg_export.php on line 0
----

There are other problems too, this one:

#### Executing: /usr/local/directadmin/plugins/pgsql/include/pg_cron.php:
----
sh: /usr/local/directadmin/plugins/pgsql/include/externals/wrapper_pgsql: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

probably indicates, that wrapper_pgsql is not available for x86_64 platforms? I don’t know how important the wrapper is…


Additional details

Centos version:

# cat /etc/centos-release 

CentOS release 6.4 (Final)

DA-PgSQL file and directory permissions:

# ls -laR /usr/local/directadmin/plugins/pgsql

/usr/local/directadmin/plugins/pgsql:
total 1588
drwxr-xr-x  8 diradmin diradmin    4096 Aug  8 23:01 .
drwx--x--x 15 diradmin diradmin    4096 Sep 12 21:44 ..
drwxr-xr-x  2 diradmin diradmin    4096 Nov  5 16:34 admin
drwxr-xr-x  2 diradmin diradmin    4096 Aug  8 23:01 hooks
drwxr-xr-x  2 diradmin diradmin    4096 Aug  8 23:01 images
drwxr-xr-x 10 diradmin diradmin    4096 Nov  5 18:18 include
-rw-r--r--  1 diradmin diradmin     136 Aug  8 23:01 plugin.conf
-rwx------  1 diradmin diradmin 1587561 Aug  8 23:01 plugin.tar.gz
drwxr-xr-x  2 diradmin diradmin    4096 Aug  8 23:01 scripts
drwxr-xr-x  2 diradmin diradmin    4096 Aug  8 23:01 user

/usr/local/directadmin/plugins/pgsql/admin:
total 12
drwxr-xr-x 2 diradmin diradmin 4096 Nov  5 16:34 .
drwxr-xr-x 8 diradmin diradmin 4096 Aug  8 23:01 ..
-rwxr-xr-x 1 diradmin diradmin  155 Aug  8 23:01 index.html

/usr/local/directadmin/plugins/pgsql/hooks:
total 24
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 8 diradmin diradmin 4096 Aug  8 23:01 ..
-rw-r--r-- 1 diradmin diradmin  172 Aug  8 23:01 admin_img.html
-rw-r--r-- 1 diradmin diradmin   64 Aug  8 23:01 admin_txt.html
-rw-r--r-- 1 diradmin diradmin  173 Aug  8 23:01 user_img.html
-rw-r--r-- 1 diradmin diradmin   71 Aug  8 23:01 user_txt.html

/usr/local/directadmin/plugins/pgsql/images:
total 12
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 8 diradmin diradmin 4096 Aug  8 23:01 ..
-rw-r--r-- 1 diradmin diradmin 1998 Aug  8 23:01 pg_logo.gif

/usr/local/directadmin/plugins/pgsql/include:
total 177
drwxr-xr-x 10 diradmin diradmin  4096 Nov  5 18:18 .
drwxr-xr-x  8 diradmin diradmin  4096 Aug  8 23:01 ..
drwxr-xr-x  2 diradmin diradmin  4096 Aug  8 23:01 admin
drwxrwxrwx  3 diradmin diradmin  4096 Aug  8 23:09 cache
drwxr-xr-x  3 diradmin diradmin  4096 Aug  8 23:01 classes
-rw-r--r--  1 diradmin diradmin 20452 Aug  8 23:01 common.inc.php
-rw-r--r--  1 diradmin diradmin   441 Nov  5 16:19 config.inc.php
-rw-r--r--  1 diradmin diradmin  1074 Aug  8 23:01 define.inc.php
drwxr-xr-x  3 diradmin diradmin  4096 Nov  5 18:57 externals
-rw-r--r--  1 diradmin diradmin  4942 Aug  8 23:01 global.func.php
drwxr-xr-x  2 diradmin diradmin  4096 Aug  8 23:01 lang
drwxr-xr-x  4 diradmin diradmin  4096 Aug  8 22:58 loader
-rw-r--r--  1 diradmin diradmin  2483 Aug  8 23:01 pg_cron.php
-rw-r--r--  1 diradmin diradmin  5610 Aug  8 23:01 pg_export.php
-rw-r--r--  1 diradmin diradmin  4325 Aug  8 23:01 .php
-rw-r--r--  1 diradmin diradmin 39048 Nov  5 18:18 php.ini
-rw-r--r--  1 diradmin diradmin 39048 Nov  5 18:18 php53.ini
-rw-r--r--  1 diradmin diradmin 38998 Nov  5 18:17 php52.ini
drwxr-xr-x  3 diradmin diradmin  4096 Aug  8 22:58 templates
drwxr-xr-x  2 diradmin diradmin  4096 Aug  8 23:01 user

/usr/local/directadmin/plugins/pgsql/include/admin:
total 20
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
-rw-r--r--  1 diradmin diradmin 8357 Aug  8 23:01 admin_index.php

/usr/local/directadmin/plugins/pgsql/include/cache:
total 12
drwxrwxrwx  3 diradmin diradmin 4096 Aug  8 23:09 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:09 templates

/usr/local/directadmin/plugins/pgsql/include/cache/templates:
total 8
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:09 .
drwxrwxrwx 3 diradmin diradmin 4096 Aug  8 23:09 ..

/usr/local/directadmin/plugins/pgsql/include/classes:
total 56
drwxr-xr-x  3 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
-rw-r--r--  1 diradmin diradmin 2033 Aug  8 23:01 Base_wrapper.class.php
-rw-r--r--  1 diradmin diradmin 2203 Aug  8 23:01 Configuration.class.php
-rw-r--r--  1 diradmin diradmin 2097 Aug  8 23:01 DAPgSQL.class.php
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:01 database
-rw-r--r--  1 diradmin diradmin 5994 Aug  8 23:01 Date_span.class.php
-rw-r--r--  1 diradmin diradmin 3864 Aug  8 23:01 Misc.class.php
-rw-r--r--  1 diradmin diradmin 3075 Aug  8 23:01 Plugin.class.php
-rw-r--r--  1 diradmin diradmin 4065 Aug  8 23:01 SpbasApi.class.php
-rw-r--r--  1 diradmin diradmin 6410 Aug  8 23:01 Template.class.php
-rw-r--r--  1 diradmin diradmin 1272 Aug  8 23:01 Wrapper.class.php

/usr/local/directadmin/plugins/pgsql/include/classes/database:
total 24
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 3 diradmin diradmin 4096 Aug  8 23:01 ..
-rw-r--r-- 1 diradmin diradmin 4789 Aug  8 23:01 PostgreSQL74.class.php
-rw-r--r-- 1 diradmin diradmin 1981 Aug  8 23:01 PostgreSQL81.class.php
-rw-r--r-- 1 diradmin diradmin 3328 Aug  8 23:01 PostgreSQL.class.php

/usr/local/directadmin/plugins/pgsql/include/externals:
total 24
drwxr-xr-x  3 diradmin diradmin  4096 Nov  5 18:57 .
drwxr-xr-x 10 diradmin diradmin  4096 Nov  5 18:18 ..
drwxr-xr-x  2 diradmin diradmin  4096 Aug  8 23:01 custom
-rwx--x--x  1 diradmin diradmin 11014 Aug  8 23:01 wrapper_pgsql

/usr/local/directadmin/plugins/pgsql/include/externals/custom:
total 12
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 3 diradmin diradmin 4096 Nov  5 18:57 ..
-rw-r--r-- 1 diradmin diradmin 2714 Aug  8 23:01 README

/usr/local/directadmin/plugins/pgsql/include/lang:
total 32
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
-rw-r--r--  1 diradmin diradmin 6775 Aug  8 23:01 cn.lang.php
-rw-r--r--  1 diradmin diradmin 6954 Aug  8 23:01 en.lang.php
-rw-r--r--  1 diradmin diradmin 6775 Aug  8 23:01 hk.lang.php

/usr/local/directadmin/plugins/pgsql/include/loader:
total 16
drwxr-xr-x  4 diradmin diradmin 4096 Aug  8 22:58 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
drwxr-xr-x  4 diradmin diradmin 4096 Aug  8 22:58 FreeBSD
drwxr-xr-x  4 diradmin diradmin 4096 Aug  8 22:58 Linux

/usr/local/directadmin/plugins/pgsql/include/loader/FreeBSD:
total 16
drwxr-xr-x 4 diradmin diradmin 4096 Aug  8 22:58 .
drwxr-xr-x 4 diradmin diradmin 4096 Aug  8 22:58 ..
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 x86
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 x86_64

/usr/local/directadmin/plugins/pgsql/include/loader/FreeBSD/x86:
total 724
drwxr-xr-x 2 diradmin diradmin   4096 Aug  8 23:01 .
drwxr-xr-x 4 diradmin diradmin   4096 Aug  8 22:58 ..
-rw-r--r-- 1 diradmin diradmin 212928 Aug  8 23:01 phpexpress-php-4.4.so
-rw-r--r-- 1 diradmin diradmin 254176 Aug  8 23:01 phpexpress-php-5.2.so
-rw-r--r-- 1 diradmin diradmin 258304 Aug  8 23:01 phpexpress-php-5.3.so

/usr/local/directadmin/plugins/pgsql/include/loader/FreeBSD/x86_64:
total 760
drwxr-xr-x 2 diradmin diradmin   4096 Aug  8 23:01 .
drwxr-xr-x 4 diradmin diradmin   4096 Aug  8 22:58 ..
-rw-r--r-- 1 diradmin diradmin 230488 Aug  8 23:01 phpexpress-php-4.4.so
-rw-r--r-- 1 diradmin diradmin 265784 Aug  8 23:01 phpexpress-php-5.2.so
-rw-r--r-- 1 diradmin diradmin 269080 Aug  8 23:01 phpexpress-php-5.3.so

/usr/local/directadmin/plugins/pgsql/include/loader/Linux:
total 16
drwxr-xr-x 4 diradmin diradmin 4096 Aug  8 22:58 .
drwxr-xr-x 4 diradmin diradmin 4096 Aug  8 22:58 ..
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 x86
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 x86_64

/usr/local/directadmin/plugins/pgsql/include/loader/Linux/x86:
total 728
drwxr-xr-x 2 diradmin diradmin   4096 Aug  8 23:01 .
drwxr-xr-x 4 diradmin diradmin   4096 Aug  8 22:58 ..
-rw-r--r-- 1 diradmin diradmin 216928 Aug  8 23:01 phpexpress-php-4.4.so
-rw-r--r-- 1 diradmin diradmin 255488 Aug  8 23:01 phpexpress-php-5.2.so
-rw-r--r-- 1 diradmin diradmin 261952 Aug  8 23:01 phpexpress-php-5.3.so

/usr/local/directadmin/plugins/pgsql/include/loader/Linux/x86_64:
total 772
drwxr-xr-x 2 diradmin diradmin   4096 Aug  8 23:01 .
drwxr-xr-x 4 diradmin diradmin   4096 Aug  8 22:58 ..
-rw-r--r-- 1 diradmin diradmin 231800 Aug  8 23:01 phpexpress-php-4.4.so
-rw-r--r-- 1 diradmin diradmin 270008 Aug  8 23:01 phpexpress-php-5.2.so
-rw-r--r-- 1 diradmin diradmin 274552 Aug  8 23:01 phpexpress-php-5.3.so

/usr/local/directadmin/plugins/pgsql/include/templates:
total 12
drwxr-xr-x  3 diradmin diradmin 4096 Aug  8 22:58 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:01 default

/usr/local/directadmin/plugins/pgsql/include/templates/default:
total 40
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 3 diradmin diradmin 4096 Aug  8 22:58 ..
-rw-r--r-- 1 diradmin diradmin 1337 Aug  8 23:01 javascript.tpl
-rw-r--r-- 1 diradmin diradmin 1532 Aug  8 23:01 user_db_create.tpl
-rw-r--r-- 1 diradmin diradmin 3392 Aug  8 23:01 user_db_export.tpl
-rw-r--r-- 1 diradmin diradmin 1851 Aug  8 23:01 user_db_modify.tpl
-rw-r--r-- 1 diradmin diradmin 1659 Aug  8 23:01 user_db_user_create.tpl
-rw-r--r-- 1 diradmin diradmin 3674 Aug  8 23:01 user_db_user_modify.tpl
-rw-r--r-- 1 diradmin diradmin 4204 Aug  8 23:01 user_index.tpl

/usr/local/directadmin/plugins/pgsql/include/user:
total 32
drwxr-xr-x  2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 10 diradmin diradmin 4096 Nov  5 18:18 ..
-rw-r--r--  1 diradmin diradmin 3082 Aug  8 23:01 user_db_create.php
-rw-r--r--  1 diradmin diradmin 1637 Aug  8 23:01 user_db_export.php
-rw-r--r--  1 diradmin diradmin 3258 Aug  8 23:01 user_db_modify.php
-rw-r--r--  1 diradmin diradmin 2355 Aug  8 23:01 user_db_user_create.php
-rw-r--r--  1 diradmin diradmin 3931 Aug  8 23:01 user_db_user_modify.php
-rw-r--r--  1 diradmin diradmin 2899 Aug  8 23:01 user_index.php

/usr/local/directadmin/plugins/pgsql/scripts:
total 24
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 8 diradmin diradmin 4096 Aug  8 23:01 ..
-rwx------ 1 diradmin diradmin 3039 Aug  8 23:01 install.sh
-rw-r--r-- 1 diradmin diradmin  200 Aug  8 23:01 uninstall.sh
-rw-r--r-- 1 diradmin diradmin   89 Aug  8 23:01 update.sh
-rw-r--r-- 1 diradmin diradmin  551 Aug  8 23:01 vars.sh

/usr/local/directadmin/plugins/pgsql/user:
total 32
drwxr-xr-x 2 diradmin diradmin 4096 Aug  8 23:01 .
drwxr-xr-x 8 diradmin diradmin 4096 Aug  8 23:01 ..
-rwxr-xr-x 1 diradmin diradmin  157 Aug  8 23:01 db_create.html
-rwxr-xr-x 1 diradmin diradmin  157 Aug  8 23:01 db_export.html
-rwxr-xr-x 1 diradmin diradmin  157 Aug  8 23:01 db_modify.html
-rwxr-xr-x 1 diradmin diradmin  162 Aug  8 23:01 db_user_create.html
-rwxr-xr-x 1 diradmin diradmin  162 Aug  8 23:01 db_user_modify.html
-rwxr-xr-x 1 diradmin diradmin  153 Aug  8 23:01 index.html

Related partitions:

# cat /etc/fstab | grep -E "(directadmin|tmp)"

tmpfs                   /dev/shm                tmpfs   defaults,noexec,nosuid        0 0
/dev/vdc1               /tmp                    ext4    noexec,nosuid                   0 0
LABEL=directadmin       /usr/local/directadmin  ext4    defaults,noatime,nodiratime     0 0
LABEL=var-tmp           /var/tmp        ext4    defaults                0 0

php52.ini used in Test 1:

# grep -vE "(^;|^$)" \
    /usr/local/directadmin/plugins/pgsql/include/php52.ini

[PHP]
date.timezone = "America/New_York"
engine = On
short_open_tag = On
asp_tags = Off
precision    =  12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 300     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)
error_reporting  =  E_ALL
display_errors = On
display_startup_errors = On
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
register_argc_argv = On
post_max_size = 8M
gpc_order = "GPC"
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
include_path = ".:/php/includes:/usr/local/directadmin/plugins/pgsql/include/cache/:/"
doc_root =
user_dir =
extension_dir = "./"
enable_dl = On
file_uploads = On
upload_max_filesize = 100M
allow_url_fopen = On
default_socket_timeout = 60
zend_extension=/usr/local/directadmin/plugins/pgsql/include/loader/Linux/x86_64/phpexpress-php-5.2.so
zend_extension=/usr/local/php52/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so
[Syslog]
define_syslog_variables  = Off
[mail function]
SMTP = localhost
smtp_port = 25
[Java]
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[dbx]
dbx.colnames_case = "unchanged"
[bcmath]
bcmath.scale = 0
[browscap]
[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
[Session]
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[Ingres II]
ingres.allow_persistent = On
ingres.max_persistent = -1
ingres.max_links = -1
ingres.default_database =
ingres.default_user =
ingres.default_password =
[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
[Sockets]
sockets.use_system_read = On
[com]
[Printer]
[mbstring]
[FrontBase]
[Crack]
[exif]

php53.ini used in Test 2:

# grep -vE "(^;|^$)" \
    /usr/local/directadmin/plugins/pgsql/include/php53.ini

[PHP]
date.timezone = "America/New_York"
engine = On
short_open_tag = On
asp_tags = Off
precision    =  12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 300     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)
error_reporting  =  E_ALL
display_errors = On
display_startup_errors = On
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
register_argc_argv = On
post_max_size = 8M
gpc_order = "GPC"
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
include_path = ".:/php/includes:/usr/local/directadmin/plugins/pgsql/include/cache/:/"
doc_root =
user_dir =
extension_dir = "./"
enable_dl = On
file_uploads = On
upload_max_filesize = 100M
allow_url_fopen = On
default_socket_timeout = 60
zend_extension=/usr/local/directadmin/plugins/pgsql/include/loader/Linux/x86_64/phpexpress-php-5.3.so
zend_extension=/usr/local/lib/ZendGuardLoader.so
[Syslog]
define_syslog_variables  = Off
[mail function]
SMTP = localhost
smtp_port = 25
[Java]
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[dbx]
dbx.colnames_case = "unchanged"
[bcmath]
bcmath.scale = 0
[browscap]
[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
[Session]
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[Ingres II]
ingres.allow_persistent = On
ingres.max_persistent = -1
ingres.max_links = -1
ingres.default_database =
ingres.default_user =
ingres.default_password =
[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
[Sockets]
sockets.use_system_read = On
[com]
[Printer]
[mbstring]
[FrontBase]
[Crack]
[exif]

Dear Support Team

Please consider this blog post as a continuation of ticket #RQZ-4BEF6-2B1 :-)

Other people with similar problem

But with other plugins (DeeperAdmin):

Leave a Reply