Path mistake in config.m4 php module in dbxml
Hello
There is mistake in config.m4 in ./dbxml-2.3.10/dbxml/src/php
PHP_ADD_INCLUDE(../../../db-4.3.29/php_db4)
As I understood it should be like this
PHP_ADD_INCLUDE(../../../db-4.5.20/php_db4)
Please check.
PS Is there any roadmap on php module development? It could be great to see which features will be implemented.
Best wishes,
Andrey Loginov
I was thinking about this and making research in this direction. But because of I do not have a lot experience in C/C++ application development it can take a lot of time.
Anyway thanks for response.
Sincerely Yours,
Andrey Loginov
Insource.
Similar Messages
-
Dear all,
I have a problem with OCI8 installation and I would appreciate if you could kindly guide me how to solve this issue.
I started reading the following articles in order to learn how to install the OCI8 package allowing to connect from PHP to oracle
http://www.php.net/manual/en/oci8.installation.php
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
Here is my environment description
OS: Fedora Core 17 (X86_64)
Oracle version: Oracle Enterprise Edition 11gR2 (11.2.0.1.0) X86_64
PHP Version: 5.4.13
Apache version: 2.2.23Just a detail: almost every documentation starts by explaining the instant client installation. However, on the same physical machine, before even installing Apache and PHP. Oracle server had been completely installed, that is, both server and client (SQL*Plus, SQL*Loader, . . .). As a result, I omitted this step in the documentation and I continued by installation direcly OCI8 and apparently everything was compiled successfully (no error message).
Problem: OCI8 doesn't show up in phpinfo()
So it seems that there is a problem. I'm going to write down exactly how I proceeded and I would appreciate if you could kindly take a look at these steps and tell whether I made mistake(s)
I started by running as ROOT. As I said the oracle server was already installed on the machine and so all the required environment variables such as LD_LIBRARY_PATH, ORACLE_SID, . . . were already defined in ~/.bash_profile
And if you look at the below output, you can see that for example ORACLE_HOME was detected automatically during the installation (*checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1*)
# pecl install oci8This gave me the following output
# pecl install oci8
downloading oci8-1.4.9.tgz ...
Starting to download oci8-1.4.9.tgz (169,255 bytes)
.....................................done: 169,255 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
building in /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9
running: /var/tmp/oci8/configure --with-oci8
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib64/php/modules
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for Oracle Database OCI8 support... yes, shared
checking PHP version... 5.4.13, ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of long int... 8
checking checking if we're on a 64-bit platform... yes
checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1
checking ORACLE_HOME library validity... lib
checking Oracle library version compatibility... 11.1
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... (cached) gawk
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... no
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating ./config.status
config.status: creating config.h
config.status: executing libtool commands
running: make
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c -o oci8.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c -fPIC -DPIC -o .libs/oci8.o
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_lob.c -o oci8_lob.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_lob.c -fPIC -DPIC -o .libs/oci8_lob.o
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_statement.c -o oci8_statement.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_statement.c -fPIC -DPIC -o .libs/oci8_statement.o
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_collection.c -o oci8_collection.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_collection.c -fPIC -DPIC -o .libs/oci8_collection.o
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_interface.c -o oci8_interface.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_interface.c -fPIC -DPIC -o .libs/oci8_interface.o
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=link cc -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -o oci8.la -export-dynamic -avoid-version -prefer-pic -module -rpath /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules oci8.lo oci8_lob.lo oci8_statement.lo oci8_collection.lo oci8_interface.lo -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh
libtool: link: cc -shared -fPIC -DPIC .libs/oci8.o .libs/oci8_lob.o .libs/oci8_statement.o .libs/oci8_collection.o .libs/oci8_interface.o -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh -O2 -Wl,-rpath -Wl,/u01/app/oracle/product/11.2.0/db_1/lib -Wl,-soname -Wl,oci8.so -o .libs/oci8.so
libtool: link: ( cd ".libs" && rm -f "oci8.la" && ln -s "../oci8.la" "oci8.la" )
/bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=install cp ./oci8.la /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
libtool: install: cp ./.libs/oci8.so /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.so
libtool: install: cp ./.libs/oci8.lai /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.la
libtool: finish: PATH="/usr/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/op
t/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/sbin" ldconfig -n /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
Libraries have been installed in:
/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
Build complete.
Don't forget to run 'make test'.
running: make INSTALL_ROOT="/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" install
Installing shared extensions: /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/
running: find "/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" | xargs ls -dils
3679979 4 drwxr-xr-x. 3 root root 4096 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9
3680009 4 drwxr-xr-x. 3 root root 4096 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr
3680010 4 drwxr-xr-x. 3 root root 4096 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64
3680011 4 drwxr-xr-x. 3 root root 4096 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php
3680012 4 drwxr-xr-x. 2 root root 4096 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules
3680008 596 -rwxr-xr-x. 1 root root 606865 Apr 4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/oci8.so
Build process completed successfully
Installing '/usr/lib64/php/modules/oci8.so'
install ok: channel://pecl.php.net/oci8-1.4.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
# Once OCI8 was installed I updated the */etc/php.ini* accordingly by adding the following entries
; Dynamic Extensions ;
; If you wish to have an extension loaded automatically, use the following
; syntax:
; extension=modulename.extension
extension=oci8.so
; Paths and Directories ;
; UNIX: "/path1:/path2"
extension_dir="/usr/lib64/php/modules"Also I updated the */etc/sysconfig/httpd* in order to export the specified set of OS environment variables. So I added the following lines at the end of the file
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
LD_LIBRARY_PATH64=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
ORACLE_SID=db01In order to check that these values are actually taken into account by Apache, I run
# service httpd restartThen I run a PHP script with phpinfo() and in the section Environment the above values were present in particular the LD_LIBRARY_PATH variable.
However, as I said, there is no OCI8 entry in phpinfo() output. I checked the apache log file and I saw that there is a problem
# cat /var/log/httpd/error_log
[Thu Apr 04 16:02:13 2013] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Thu Apr 04 16:02:13 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Apr 04 16:02:13 2013] [notice] Digest: generating secret for digest authentication ...
[Thu Apr 04 16:02:13 2013] [notice] Digest: done
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line 0
[Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Compiled for Python/2.7.2.
[Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Thu Apr 04 16:02:13 2013] [notice] Apache/2.2.23 (Unix) DAV/2 PHP/5.4.13 mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
#What I understand from the above log is that the shared library libclntsh.so.11.1 cannot be found. Yet I checked and I saw that it is present in LD_LIBRARY_PATH
# locate libclntsh.so
/u01/app/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libclntsh.so.11.1
/u01/app/oracle/product/11.2.0/db_1/inventory/backup/2012-06-25_12-08-41PM/Scripts/ext/lib/libclntsh.so.11.1
/u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so
/u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.10.1
/u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1
# So the last line, shows that the specified library exists in */u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1*.
So I don't really seem what is the problem and the more strange thing is that in command line PHP seem to detect my oracle server parameters.
$ php --ri oci8
oci8
OCI8 Support => enabled
Version => 1.4.9
Revision => $Id: e2241cffb72c940cb2ca267b7a6a0ce436de7e5e $
Active Persistent Connections => 0
Active Connections => 0
Oracle Run-time Client Library Version => 11.2.0.1.0
Oracle Version => 11.2
Compile-time ORACLE_HOME => /u01/app/oracle/product/11.2.0/db_1
Libraries Used => -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh
Temporary Lob support => enabled
Collections support => enabled
Directive => Local Value => Master Value
oci8.max_persistent => -1 => -1
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
oci8.default_prefetch => 100 => 100
oci8.old_oci_close_semantics => Off => Off
oci8.connection_class => no value => no value
oci8.events => Off => Off
$ I thought maybe there are several different php.ini and the one used within GUI is not the same used in CLI but a search showed that there is just one php.ini file
# locate php.ini
/etc/php.ini
# php -i | grep Configuration
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Configuration
#It is almost 3 days that I'm googling without success to find the solution to this problem.
So, could someone help me, what is the problem? Why the OCI8 module cannot be loaded by PHP and become visible in the phpinfo() output?
Thanks in advance,
Regards,
Dariyooshcj wrote:
Try disabling SELinux. On Oracle Linux you would edit /etc/selinux/config, set SELINUX to DISABLED, and reboot. Also see the setenforce command.Yes !!!!!!!!
Thanks man it worked !! It was SELinux which was blocking the library load. Now I have OCI8 entry in phpinfo(). At the same time as we saw before the PHP in command line could detect OCI8, maybe this means that SELinux doesn't have the same impact in CLI as in GUI. Conclusion, you were totally correct about defining the environment variables in /etc/syscnfig/httpd. The variables were actually defined (with a slight difference in syntax that I will show below), yet SELinux prevented PHP from loading the oracle libraray.
I also wrote a test SQL script (SELECT employee_id FROM employees WHERE department_id = 100) and the result was printed on the screen perfectly.
So for those who may have encountered the same problem with the same environment parameters I'm going to give a summary of how I proceeded in the case where it might be helpful for others.
My environment
OS: Linux Fedora Core 17 (X86_64)
Oracle version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
Apache version (httpd): Apache 2.0
PHP version: 5.4.13
Before the installation
Before the installation I disabled SELinux. At the time of writing I'm not an expert of SELinux so I don't know any rule modification in order to modify SELinux policy accordingly allowing to OCI8 module to load oracle libraries. As a result I finally disabled completely the SELinux on my system which may have serious security impacts! This can be done in the following way (being as root)
# vim /etc/selinux/configThe file content is something similar to the following
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted So what I did was that I put a comment at the beginning of the line SELINUX=enforcing and instead I added a new line right after that line which was SELINUX=disabled.
Finally I rebooted the system.
Installation:
- Make sure that all oracle environment variables are defined in ~/.bash_profile of the user who installs OCI8. Otherwise you will have to enter manually the path to $ORACLE_HOME. I tested both ways and each method works pretty well. Yet I find the first one more elegant because it detects automatically everything
- In my case, PHP, Apache and Oracle server were all on the same physical machine, therefore I didn't need to install the Oracle Instant client*. All the required oracle libraries for OCI8 were therefore already available.
- being as ROOT, I run the following (I don't know whether this was mandatory but I prefered to stop httpd before installing OCI8)
# pecl install oci8(On my machine pecl was already there, if not you can install it by using yum)
- Once installation is over, at the end of the installation report in the terminal you will get something like this
>
Build process completed successfully
Installing '/usr/lib64/php/modules/oci8.so'
install ok: channel://pecl.php.net/oci8-1.4.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
>
The two bold lines above shows what you have to put in your php.ini file (on my computer this file is in */etc/php.ini* )
So I updated the php.ini file in the following way:
; Dynamic Extensions ;
; If you wish to have an extension loaded automatically, use the following
; syntax:
; extension=modulename.extension
extension=oci8.so
; Paths and Directories ;
; UNIX: "/path1:/path2"
extension_dir="/usr/lib64/php/modules"Then you have to define the required oracle environment variables for Apache. According to what I read in http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html and in several forums while I was googling for this problem and also based on my own tests, it seems to me that depending on which Apache version you're using, the syntax for declaring the environment variables in */etc/sysconfig/httpd* is not the same.
Here is what I added at the end of the file /etc/sysconfig/httpd
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
ORACLE_SID=db01I tried to use the export keyword before the variable names but it didn't work for me, yet I saw in other forums that there were people who apparently had used that syntax successfully. So again it is a matter of personal observation. For me using Apache 2.0, only the above syntax works. Also if I use $ in order to expand the environment variables it doesn't work
so for example instead of writing
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/libI had to write explicitly the expanded values myself, that is,
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/libOnce this is done, restart httpd
# service httpd startIf everything went well, normally you will see the OCI8 entry if you run phpinfo() in a test PHP script.
Hope this may help others,
Once again, thanks a lot to cj for his time and his valuable help for solving my problem.
Regards,
Dariyoosh -
How do I set the PATH to use ImageMagick under PHP on my Server?
Hi,
I have the ImageMagick binaries installed. They are working in the terminal.
But when I try to use it out of a php script on the webserver, it cant find the DYLD_LIBRARY_PATH.
The manual says:
Set the MAGICK_HOME environment variable to the path where you extracted the ImageMagick files. For example:
export MAGICK_HOME="$HOME/ImageMagick-6.3.7"
If the bin subdirectory of the extracted package is not already in your executable search path, add it to your PATH environment variable. For example:
export PATH="$MAGICK_HOME/bin:$PATH"
Set the DYLD_LIBRARY_PATH environment variable:
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"
I can do all this in the Terminal, but how and where do I set it, that it also works with the scripts on the webserver?
Thanks and Regards,
JOJoachim,
I have not tested any of this but...
If you are just using the default Mac OS X Server install of Apache and the PHP module, then Apache's path is /usr/bin:/bin:/usr/sbin:/sbin (when running under the user:group=www:www). Basically, if the server is running under that user and PHP inherits the basic PATH of that user's shell, then anything linked into those directories should be available to the scripts, i.e. link your ImagMagick bin and lib paths into /usr 's directories. See 'man ln' in Terminal. User www doesn't have a defined shell, though, so I don't know where the PATH comes from.
Alternatively, you might be able to use Apache's env_module (on by default) to manipulate the PATH environment variable in a config file. See Apache's manual on environment variables.
Another means is to utilize 'suexec' in Apache and switch the user:group of CGI execution, etc. to a actual user with a definable .bash_profile (or whatever shell you are using). There are security concerns with this. See Apache's manual on suexec. You may want to also consider compiling PHP as CGI.
BTW: the new version of PHP has some new experimental native ImageMagick libraries built in. I assume it looks for the binaries in the usual places and/or may need to be compiled with their paths during ./configure.
Larry -
Apache FastGCI & PHP module oci8
We are running Apache 2.2.8 and PHP 5.2.5 on Windows 2003 Server. We currently run PHP a an Apache module, but we want to swith to FastCGI to improve performances and stability. So I change my Apache config to load FastCGI and comment the PHP module. Everything is working fine except the oci8 module in PHP. I got the following error in my PHP error log :
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8.dll' - The specified module could not be found. in Unknown on line 0
When I switch back to PHP as a module, oci8 is working fine. Does anyone have an idea ?
Thanks for the help !Someone give me a hand on another problem and my problem is now solved.
If it's can help someone else, my httpd.conf was missing the following variables :
DefaultInitEnv PHPRC "C:/PHP/"
DefaultInitEnv PATH "C:/PHP;C:/Apache2/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/Oracle/BIN"
DefaultInitEnv ORA_HOME "C:/Oracle" -
I have a php module which runs fine in Firefox and all other browsers but not Safari. It always run twice - I see a small ? in upper right corner which is causing it to run twice but NO idea why? I read it MAY have something to do with am image it cannot load but I see them all loaded. Help - thank you
Could you share a link to the page?
Seeing it in context and in our browsers is much easier to debug.
If not, make sure to run the validator here The W3C Markup Validation Service and clear out any problems. HTML errors, especially structural ones, will cause all kinds of display problems in various browsers/versions/platforms. -
How to install php module into web tier.
Previously oracle http server included built-in php module so i could start php scripts under it but in the newest(web tire) version there is no built-in php module.
But in the docs they say that it is possible but dont explain how to...
So how to?)))Maybe this will help.
http://www.oracle.com/technology/pub/articles/dev2arch/2007/02/php-java-bridge.html -
PHP Module - St9bad_alloc Error
I am using the PHP module with great success on one of my servers. However, I implemented my container on another server and am getting the following errors:
Warning: xmlmanager::opencontainer() [function.xmlmanager-opencontainer]: St9bad_alloc
Warning: xmlmanager::query() [function.xmlmanager-query]: St9bad_alloc
Any ideas what causes this?
ThanksI found this thread which seems to lead my in a direction:
Errors running PHP examples
Obviously I have an existing installation of db4. What do I need to set the LD_LIBRARY_PATH variable to? or how can i recompile PHP with db4 and dbxml? I think I would rather the latter cause it probably makes the dbxml functions faster.
Thanks -
all my components are grayed out in multisim11. Path to my config file in global preferences is also grayed out, can't change to standard cfg
Solved!
Go to Solution.Hi Escapermark,
Have a look at these knowledge base articles, the first one should fix the gray out problem:
http://digital.ni.com/public.nsf/allkb/609A763289E6E81D8625739F0052151F
http://digital.ni.com/public.nsf/allkb/2719D00E36A4D53A8625721300685B3F
http://digital.ni.com/public.nsf/allkb/B3D720348D55D0C5862575BA00560908?OpenDocument
Tien P.
National Instruments -
I've tried to get php running on the apache server on leopard. I've modified the httpd.conf to load the php5 module (removed the #) but when i open a php file, the screen is blank, and the source shows the php code.
I tried to stop and restart the webserver but it didn't help
Does anyone know what the problem could be? It could be the httpd.conf file, does anyone have a working version of this file? Thanks.I solved the problem,
Apache did load the php module, it just didn't see that the files were php. There was a problem with the extensions. The original phpinfo file was saved as .rtf and then changed to .php. Apparently apache didn't recognize the file as php.
I made a new file and saved it as .php from the beginning. Problem solved. -
[SOLVED] Redis php module ?
Hey everybody
I tried to get phpbb and redis to work together. phpBB3 accepts a number of caches, most of them like memcache and apc has a relation to php on a package level. But redis does not seem to have that.
So i talked with a guy on #redis and he said he had the same problem and made his own php library for redis.
Here: https://github.com/nicolasff/phpredis
So now the big question, can something like that be done in arch ? So you can activate a redis.so module in httpd.conf or php.ini (cant remember which one) so it just works, or a php-redis package. Im sure you can tell from his link.
Wak
Related reading:
http://stackoverflow.com/questions/2001 … with-redis
Edit: Found it in the AUR, still would be nice to have in the official repos. Now AUR are no longer a mistery for me. Thx wiki
Last edited by DoYouSpeakWak (2012-02-23 22:56:12)Hey everybody
I tried to get phpbb and redis to work together. phpBB3 accepts a number of caches, most of them like memcache and apc has a relation to php on a package level. But redis does not seem to have that.
So i talked with a guy on #redis and he said he had the same problem and made his own php library for redis.
Here: https://github.com/nicolasff/phpredis
So now the big question, can something like that be done in arch ? So you can activate a redis.so module in httpd.conf or php.ini (cant remember which one) so it just works, or a php-redis package. Im sure you can tell from his link.
Wak
Related reading:
http://stackoverflow.com/questions/2001 … with-redis
Edit: Found it in the AUR, still would be nice to have in the official repos. Now AUR are no longer a mistery for me. Thx wiki
Last edited by DoYouSpeakWak (2012-02-23 22:56:12) -
Can /etc/httpd/conf/httpd.conf config affect php error display?
If error display is on in php.ini, can anything from "/etc/httpd/conf/httpd.conf" affect this option so errors won't be shown?
Yes, with PHP as Apache module, a directive like:
php_admin_flag display_errors off
can or, eventually:
php_admin_value error_reporting <number>
But these shouldn't be used.
Last edited by julp (2011-07-28 22:20:37) -
Hello,
I'm sure this has already be posted but I can't seem to find
it. I am running PHP 5.2 IIS 5.1 and MySQL 5.0. I have scrubbed the
internet and seem to have configured everything properly, but when
I attempt to connect to MySQL database, I get "Your PHP server
doesn't have the MySQL module loaded or you can't use the mysql_(p)
functions." infophp() returns the correct information.
What am I missing?
Thanks,
RonRemove the ; from in front of extension=php_mysql.dll in your
php.ini
file
"Mesh55" <[email protected]> wrote in
message
news:g16sh2$a6t$[email protected]..
> Hello,
>
> I'm sure this has already be posted but I can't seem to
find it. I am
> running
> PHP 5.2 IIS 5.1 and MySQL 5.0. I have scrubbed the
internet and seem to
> have
> configured everything properly, but when I attempt to
connect to MySQL
> database, I get "Your PHP server doesn't have the MySQL
module loaded or
> you
> can't use the mysql_(p) functions." infophp() returns
the correct
> information.
>
> What am I missing?
>
> Thanks,
> Ron
> -
Php module in apache doen't load
I've tried to get php running on the apache server on leopard. I've modified the httpd.conf to load the php5 module (removed the #) but when i open a php file, the screen is blank, and the source shows the php code.
I tried to stop and restart the webserver but it didn't help
Does anyone know what the problem could be? It could be the httpd.conf file, does anyone have a working version of this file? Thanks.I hadn't setup the provided PHP on my machine yet... when I read your post I decided that if I can help you figure yours out I'll have gotten some milage out of setting mine up, even if I never use it
I could not reproduce your problem. If you need help creating a phpinfo.php file let me know... Here's what I did that worked:
*1. Modify httpd.conf*
I used Terminal to do this stuff, it just seemed easier than fiddling with the GUI.
"cd /etc/apache2/"
"ls" (Just to make sure httpd.conf was where I expected it to be)
"sudo pico httpd.conf"
++Enter Admin password++
Find the line that says "#LoadModule php5_module libexec/apache2/libphp5.so" and remove the hash to uncomment.
Ctrl-x to exit, Y to apply changes.
*2. Restart apache* (I had Web Sharing on already)
Again in Terminal:
"sudo apachectl restart" ("sudo apachectl start" if you hadn't enabled Web Sharing in the GUI)
*3. Move a copy of phpinfo.php into the shared directory*
"cp phpinfo.php /Library/Webserver/Documents/" (Presumes that you've already used cd to get to the folder where phpinfo.php is stored)
*4. Open phpinfo*
Using your web browser:
"http://localhost/phpinfo.php"
I got the PHP info I expected...
PHP Version 5.2.4... Darwin XXXXXXXX 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct 31 17:48:21 PDT 2007; root:xnu-1228.0.2~1/RELEASE_PPC Power Macintosh
Hope that helps! -
Struts- two actions with same path in struts config
hai
I am having html:select tag with two options (View And Download) in a form.My form signature is like <html:form action="select">.I mapped two options(View,Download) with same action path.When i click view it doesn't forwards(remains idle) and no error is shown.But i click download it forwards to the appropriate page.If iam having two tags with same action path the second is only working.This problem doesn't comes when iam having one tag alone.
My code is here:
-----------Select.jsp----------------
<html:form action="Select">
<html:select property="id">
<html:option value="view">View</html:option>
<html:option value="download">Download</html:option>
</html:select>
</html:form>
----------------Struts-config.xml------------
<form-beans>
<form-bean name="viewForm" type="ViewForm"/>
<form-bean name="download" type="DownloadForm"/>
</form-beans>
<action-mappings>
<action path="/Select"
name="viewForm"
type="ViewAction"
input="/Select.jsp">
<forward name="success" path="/Success.jsp"/>
</action>
<action path="/Select"
name="downloadForm"
type="DownloadAction"
input="/Select.jsp">
<forward name="success" path="/Welcome.jsp"/>
</action>
</action-mappings>
Can i have action tag with same paths like this.If not please provide me a solutionI have created two success pages.
I have created two findForward in my ActionClasspublic ActionForward execute(ActionMapping mapping,...............)
if(a==view)
return mapping.findForward("success");
else
return mapping.findForward("success1");
----------------Struts-config.xml------------
<form-beans>
<form-bean name="viewdownloadForm" type="ViewdownloadForm"/>
</form-beans>
<action-mappings>
<action path="/Select"
name="viewdownloadForm"
type="ViewdownloadAction"
input="/Select.jsp">
<forward name="success" path="/Success.jsp"/>
<forward name="success1" path="/Success1.jsp"/>
</action> -
Hey,
I'm having a problem with my PHP. The extension mysqli isn't loading. I already see some topics here but still i can't fix the problem. I already reinstall apache, php and all php extensions and still the problem continues. In phpinfo() the extension appears but I can't get values from mariadb and the output of vardump($link); its nothing, literally.
Can anyone help me?Spider.007 wrote:
Does
print_r(get_loaded_extensions());
show it?
Array ( [0] => Core [1] => date [2] => ereg [3] => libxml [4] => pcre [5] => zlib [6] => ctype [7] => dom [8] => fileinfo [9] => filter [10] => hash [11] => json [12] => mbstring [13] => SPL [14] => PDO [15] => Reflection [16] => session [17] => SimpleXML [18] => standard [19] => tokenizer [20] => xml [21] => xmlreader [22] => xmlwriter [23] => mysqlnd [24] => apache2handler [25] => curl [26] => gd [27] => gettext [28] => mcrypt [29] => mysqli [30] => mhash )
Maybe you are looking for
-
IPod not recognized in iTunes, but my iPhone is
I used several different apple USB cords and they all recognize my phone, but not my iPod... It just charges I plug my iPod into my laptop and its charging but no iPod icon is popping up in my itunes.. can someone help??? But my iPhone gets recognize
-
Conversion error in process flow
I've build a process flow with the following construction 1. Function call (DB) which returns a date via a OUT parameter (Checked) 2. Bound the OUT parameter to a Process-flow parameter of type date 3. Use the proces-flow parameter to bind a input pa
-
Fade in/out on button click
Hi, I'm new here and a beginner at Actionscript. My question is this: I want to make a photo gallery with smooth fade in and out. I can do this on Clip Events i.e. onClipEvent(enterFrame){ for(i=0; i>=100; i++){ myMovieClip._alpha = i; But I can't wr
-
Pricing error; ''Condition record exists, but has not been set''
hello friends we created the order (credit memo req), refer to this created the credit memo. in the order one line item and only 2 condition records base price and tax (MWST) in the order both conditions are coming and in the invoice it is not showin
-
Hi Girus, When I m tring to run the payroll for Canada I m getting following error. Business number not found Check account and registration number configuration from 1.01.2010 31.01.2010 I m maintaining 0461,0462,0463,0464 tax infotype for canada. P