我只想尝试新版本的pimcore。 由于我已经安装了一个测试服务器和php7用于其他部分,我想在那里安装pimcore。
不幸的是我在安装过程中遇到了错误
Failed:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes in /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('\nCREATE TABLE `...', Array) #4 [internal function]: Zend_Db_Adapter_Pdo_Abstract->query('\nCREATE TABLE `...') #5 /var/www/pimcore/pimcore/lib/Pimcore/Db/Wrapper.php(291): call_user_func_array(Array, Array) #6 /var/www/pimcore/pimcore/lib/Pimcore/Db/Wrapp in /var/www/pimcore/vendor/zendframework/zendframework1/library/Zend/Db/Statement/Pdo.php on line 235
不确定这是否真的是php7的问题,但我认为值得一提。
我认为这是错误消息中描述的aDB问题。似乎尝试在大于1000字节的字段上设置索引。令我惊讶的是,这是MyISAM的限制,因为我可以看到一切都是InnoDB。 顺便说一句,我使用的是Percona 5.7,而不是MySQL标准引擎,但这通常是透明的。
如果我再次点击表格,那么一切似乎都很好,但事实并非如此。 数据库中缺少许多表,无法登录。 在DB中创建的最后一个表是缓存表。 也许你可以看看。
欢呼声 姬
答案 0 :(得分:0)
这不是PHP问题。很久以前,当我在我的create database
语句中使用Charset设置时,我遇到了这个错误。
由于坚持默认解决了我的问题,我没有明确的答案,但你可以尝试&错误使用不同的create database
语句并通过MySQL Workbench或您使用的任何UI应用Pimcore 4.4.3(!)initial SQL-Script。
注意:我们还使用Percona二进制文件。