我尝试在使用OracleDB作为数据库服务器的计算机上安装TYPO3 CMS 8.7.16。本地我有一个Oracle XE - 它还可以在Oracle Enterprise上运行。
我得到了Slack的提示以设置
TYPO3_INSTALL_DB_DRIVER=oci8
TYPO3_INSTALL_DB_HOST=127.0.0.1
TYPO3_INSTALL_DB_USER=typo3dbuser
TYPO3_INSTALL_DB_PASSWORD=apassword
TYPO3_INSTALLDB_PORT=1521
TYPO3_INSTALL_DB_DBNAME=typo3dbname
在我尝试手动编辑LocalConfiguration.php:
<?php
return [
'BE' => [
'explicitADmode' => 'explicitAllow',
'loginSecurityLevel' => 'rsa',
],
'DB' => [
'Connections' => [
'Default' => [
'charset' => 'utf8',
'driver' => 'oci8',
'host' => '127.0.0.1',
'password' => 'apassword',
'port' => 1521,
'user' => 'typo3dbuser',
没有它接缝InstallTool看到我的数据库,但我收到两个错误:
无法创建数据库 无法创建名为“kvtypo3”的数据库。您的数据库名称包含保留关键字,或者您的数据库用户没有足够的权限来创建它或数据库已存在。请选择现有(空)数据库,选择其他名称或联系管理。
异常 驱动程序中发生异常:ORA-12505:TNS:侦听器当前不知道连接描述符中给出的SID
用户“typo3dbuser”在此计算机上拥有所有权限 - ALL和ADMIN; - )
任何提示如何以正确的方式配置它?如何以及为“SID”设置什么?
答案 0 :(得分:0)
<?php
return [
'BE' => [
'explicitADmode' => 'explicitAllow',
'loginSecurityLevel' => 'rsa',
],
'DB' => [
'Connections' => [
'Default' => [
'charset' => 'utf8',
'driver' => 'oci8',
'host' => '127.0.0.1',
'password' => 'apassword',
'port' => 1521,
'user' => 'typo3dbuser',
'dbname' => 'XE'
添加最后一行就做到了!
<强> BUT:强>
生成了表格,但是很多错误都被抛出了&#34; ORA-00972:标识符太长&#34;对于像
这样的陈述CREATE SEQUENCE TX_EXTENSIONMANAGER_DOMAIN_MODEL_REPOSITORY_SEQ START WITH 1 MINVALUE 1 INCREMENT BY 1
和&#34; ORA-00955:名称已被现有对象使用&#34;对于像
这样的陈述CREATE INDEX "t3ver_oid" ON "backend_layout" ("t3ver_oid", "t3ver_wsid")
尝试添加后端用户会出现此错误:
&#34;传递给TYPO3 \ CMS \ Core \ Database \ Schema \ EventListener \ SchemaColumnDefinitionListener :: getDatabaseType()的参数1必须是字符串类型,给定null,在/ home / schulzj / Projekte / PHP /中调用第42行&#34;中的kvtypo3 / vendor / typo3 / cms / typo3 / sysext / core / Classes / Database / Schema / EventListener / SchemaColumnDefinitionListener.php;
我认为OracleDB和TYPO3存在许多问题(即因为OracleDB不知道索引并且需要自动增量字段的触发器/序列)。或其他一些......
如果TYPO3声称要与OracleSQL兼容 - 也许你可以使用那里的表,但不能在其上安装TYPO3!