Oracle OCI8 support for CI 4 |
Da best thing is what waited for so long keep up guy I have been for a couple of hours inspecting CI 4.2 my dear friends you made my day I think by this fire CI $+ are going to populate as falling sand around the world at now we have official AUTH (shield) and good news that auto--route now improved this was very anxious to me before at now CI 4 blows fire across --------> cheer up guys
Codeigniter First, Codeigniter Then You!!
yekrinaDigitals
(06-08-2022, 05:23 PM)kenjis Wrote: Codeigniter v4.2.0 was released on June 3, 2022. Would it be possible to add the standard SERVICENAME property to the CodeIgniter\Database\OCI8\Connection class, or make and alias pointing to DBNAME? This is the common and standard usage in the Oracle world, more than the DBNAME.
Hi guys... when I connect to OCI8 everything is ok (at this moment) but if I switch the session from file to DB error appear ..
the project is migrated from php 7.4 to php 8.2 and and the db is the same, any idea ? ***!*** Fatal error: Uncaught ErrorException: oci_execute(): ORA-00904: "NOW": invalid identifier in /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/OCI8/Connection.php:199 Stack trace: #0 [internal function]: CodeIgniter\Debug\Exceptions->errorHandler(2, 'oci_execute(): ...', '/var/www/html/f...', 199) #1 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/OCI8/Connection.php(199): oci_execute(Resource id #261, 32) #2 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php(693): CodeIgniter\Database\OCI8\Connection->execute('INSERT INTO "ci...') #3 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php(607): CodeIgniter\Database\BaseConnection->simpleQuery('INSERT INTO "ci...') #4 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseBuilder.php(2308): CodeIgniter\Database\BaseConnection->query('INSERT INTO "ci...', Array, false) #5 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Session/Handlers/DatabaseHandler.php(197): CodeIgniter\Database\BaseBuilder->insert(Array) #6 [internal function]: CodeIgniter\Session\Handlers\DatabaseHandler->write('rjkmajal04ekp8m...', '__ci_last_regen...') #7 [internal function]: session_write_close() #8 {main} Next CodeIgniter\Database\Exceptions\DatabaseException: oci_execute(): ORA-00904: "NOW": invalid identifier in /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/OCI8/Connection.php:211 Stack trace: #0 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php(693): CodeIgniter\Database\OCI8\Connection->execute('INSERT INTO "ci...') #1 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php(607): CodeIgniter\Database\BaseConnection->simpleQuery('INSERT INTO "ci...') #2 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseBuilder.php(2308): CodeIgniter\Database\BaseConnection->query('INSERT INTO "ci...', Array, false) #3 /var/www/html/frm-new/vendor/codeigniter4/framework/system/Session/Handlers/DatabaseHandler.php(197): CodeIgniter\Database\BaseBuilder->insert(Array) #4 [internal function]: CodeIgniter\Session\Handlers\DatabaseHandler->write('rjkmajal04ekp8m...', '__ci_last_regen...') #5 [internal function]: session_write_close() #6 {main} Next CodeIgniter\Database\Exceptions\DatabaseException: oci_execute(): ORA-00904: "NOW": invalid identifier in /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php on line 647 ***!*** CodeIgniter\Database\Exceptions\DatabaseException: oci_execute(): ORA-00904: "NOW": invalid identifier in /var/www/html/frm-new/vendor/codeigniter4/framework/system/Database/BaseConnection.php on line 647 ***!*** Time Memory Function Location 1 0.6784 9197336 session_write_close( ) .../Unknown:0 2 0.6784 9197592 CodeIgniter\Session\Handlers\DatabaseHandler->write( $id = 'rjkmajal04ekp8mmlbdbc74cl7dt6ali', $data = '__ci_last_regenerate|i:1701299372;_ci_previous_url|s:27:"https://frm-new.local/login";' ) .../DatabaseHandler.php:0 3 0.6784 9199352 CodeIgniter\Database\BaseBuilder->insert( $set = ['id' => 'chts:rjkmajal04ekp8mmlbdbc74cl7dt6ali', 'ip_address' => '172.23.0.1', 'data' => '__ci_last_regenerate|i:1701299372;_ci_previous_url|s:27:"https://frm-new.local/login";'], $escape = ??? ) .../DatabaseHandler.php:197 4 0.6785 9200112 CodeIgniter\Database\BaseConnection->query( $sql = 'INSERT INTO "ci_sessions" ("timestamp", "id", "ip_address", "data") VALUES (now(), :id:, :ip_address:, :data', $binds = ['id' => [0 => 'chts:rjkmajal04ekp8mmlbdbc74cl7dt6ali', 1 => TRUE], 'ip_address' => [0 => '172.23.0.1', 1 => TRUE], 'data' => [0 => '__ci_last_regenerate|i:1701299372;_ci_previous_url|s:27:"https://frm-new.local/login";', 1 => TRUE]], $setEscapeFlags = FALSE, $queryClass = ??? ) .../BaseBuilder.php:2308
Oracle is not supported for Database session.
You need to implement OCI8Handler. Quote:Only MySQL and PostgreSQL databases are officially supported, due to lack of advisory locking mechanisms on other platforms. Using sessions without locks can cause all sorts of problems, especially with heavy usage of AJAX, and we will not support such cases. Use the close() method after you’ve done processing session data if you’re having performance issues. (11-29-2023, 04:47 PM)Thanxs a lot ... ;-) kenjis Wrote: Oracle is not supported for Database session.
In v4.5.3, a bug that validation for DSN did not work has been fixed.
But a bug in the regexp pattern for the validation was reported. If you are using OCI8 driver, check if this PR is no problem for your database config. https://github.com/codeigniter4/CodeIgniter4/pull/9006 |
Welcome Guest, Not a member yet? Register Sign In |