sixd Fri Jun 29 04:30:53 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/oci8 README Log: Add testing steps http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/README?r1=1.1.2.2&r2=1.1.2.2.2.1&diff_format=u Index: php-src/ext/oci8/README diff -u php-src/ext/oci8/README:1.1.2.2 php-src/ext/oci8/README:1.1.2.2.2.1 --- php-src/ext/oci8/README:1.1.2.2 Thu Dec 1 13:39:42 2005 +++ php-src/ext/oci8/README Fri Jun 29 04:30:53 2007 @@ -5,20 +5,20 @@ 2. Installing as shared extension. 3. Installing as statically compiled extension. 4. Installing from PECL. - +5. Testing OCI8 1. Common requirements ---------------------- -In case if you use Oracle Instant Client, you don't have to set ORACLE_HOME and -most of the other environment variables to build PHP with OCI8 support. +In case if you use Oracle Instant Client, you don't have to set ORACLE_HOME and +most of the other environment variables to build PHP with OCI8 support. The only variables you may have to set are: LD_LIBRARY_PATH - it must include Instant Client libraries dir -NLS_LANG - in case if you want to change the default encoding used during +NLS_LANG - in case if you want to change the default encoding used during interaction with Oracle servers -If you use common Oracle Client installation that comes along with the Oracle -server installation, you MUST set at least ORACLE_HOME environment variable -and make it visible for your web-server BEFORE it starts. Most appropriate +If you use common Oracle Client installation that comes along with the Oracle +server installation, you MUST set at least ORACLE_HOME environment variable +and make it visible for your web-server BEFORE it starts. Most appropriate places to add ORACLE_HOME definition are: - /etc/profile - /etc/profile.local @@ -27,21 +27,21 @@ 2. Installing as shared extension --------------------------------- -To install OCI8 as shared extension (i.e. the one you should put into +To install OCI8 as shared extension (i.e. the one you should put into your php.ini) use the following configure lines to configure PHP: a) if you use common Oracle Client installation: ./configure --with-oci8=shared,$ORACLE_HOME b) with Oracle Instant Client: ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib -If you use rpm-based installation of Oracle Instant Client, your configure +If you use rpm-based installation of Oracle Instant Client, your configure line will look like this: ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<OIC version>/client/lib -Follow the usual building procedure after that and you'll get OCI8 shared +Follow the usual building procedure after that and you'll get OCI8 shared extension (i.e. oci8.so). Add it into the php.ini file like this: extension=oci8.so -and don't forget to specify the right extension_dir for PHP to be able +and don't forget to specify the right extension_dir for PHP to be able to find shared extensions correctly. 3. Installing as statically compiled extension @@ -53,9 +53,84 @@ b) with Oracle Instant Client ./configure --with-oci8=instantclient,/path/to/instant/client/lib -After successful compile, you don't have to add oci8.so to the php.ini, the module will +After successful compile, you don't have to add oci8.so to the php.ini, the module will be usable without any additional actions. 4. Installing from PECL ----------------------- TBD + +5. Testing OCI8 +--------------- + +OCI8 tests are in ext/oci8/tests. When OCI8 tests are run this +directory will contain logs of any failures. + +5.1. Running OCI8 tests on Linux + +5.1.1. Edit ext/oci8/tests/details.inc + + Set the username, password and connection string for the database. + Most tests have been developed using the SYSTEM account: some tests + might fail unless the user has permissions to create necessary + tables, views, procedures etc. + + If the database is on the same machine as PHP, set + $oracle_on_localhost to TRUE. + + An alternative to editing details.inc is the set the environment + variables + + PHP_OCI8_TEST_USER + PHP_OCI8_TEST_PASS + PHP_OCI8_TEST_DB + PHP_OCI8_TEST_DB_ON_LOCALHOST + + for example: + + $ export PHP_OCI8_TEST_USER=system + $ export PHP_OCI8_TEST_PASS=oracle + $ export PHP_OCI8_TEST_DB=localhost/XE + $ export PHP_OCI8_TEST_DB_ON_LOCALHOST=TRUE + +5.1.2. Set any necessary environment variables for the Oracle + database. With Oracle 10g XE do: + + $ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh + + For other versions of the Oracle database do: + + $ . /usr/local/bin/oraenv + +5.1.3. Check your php.ini has E in the variables_order parameter, for + example: + + variables_order = "EGPCS" + +5.1.4. Run the tests: + + $ cd <your php src directory> + $ make test TESTS=ext/oci8 + +5.2. The tests execute rapidly. On fast machines with a local + database configured for light load (e.g. Oracle 10g XE) you might + see random tests fail with ORA-12516 or ORA-12520 errors. To + prevent this, increase the database PROCESSES parameter using the + following steps. + +5.2.1. Connect as the oracle software owner: + + $ su - oracle + +5.2.2. Set the necessary environment variables as in 5.1.2. + +5.2.3. Start the SQL*Plus command line tool and increase PROCESSES + + $ sqlplus / as sysdba + SQL> alter system set processes=100 scope=spfile + +5.2.4. Restart the database: + + SQL> startup force + +5.2.5. Rerun the tests
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php