Ubuntu环境下安装Magento 2出现创建对象类型错误求助
Magento 2全新安装时
Magento\Framework\Stdlib\DateTime\DateTime类型错误的解决方法 问题详情
在Ubuntu系统中执行Magento 2安装命令时触发类型错误:
sudo bin/magento setup:install --admin-firstname="zzz" --admin-lastname="zzz" --admin-email="zzz@gmail.com" --admin-user="admin" --admin-password="admin123" --db-name="zzzdb" --db-user="root" --db-password=""
错误提示:Type Error occurred when creating object: Magento\Framework\Stdlib\DateTime\DateTime
已尝试rm -rf generated/和chmod -R 777 generated/,问题未解决。
解决方案
1. 检查PHP版本兼容性
Magento 2各版本对PHP版本有严格要求(如2.4.x支持PHP 7.4/8.1/8.2),执行php -v查看当前版本,若不符合则切换至对应PHP版本。
2. 配置PHP时区
该错误常与时区配置缺失/错误有关:
- 编辑对应PHP版本的CLI配置文件(如
/etc/php/8.1/cli/php.ini) - 设置
date.timezone = Asia/Shanghai(替换为你所在时区) - 保存后重启PHP服务:
sudo systemctl restart php8.1-fpm - 重新执行安装命令
3. 修复文件系统权限
避免使用777权限,按照Magento官方标准设置:
# 替换/path/to/your/magento为你的Magento根目录 sudo chown -R www-data:www-data /path/to/your/magento sudo find /path/to/your/magento -type f -exec chmod 644 {} \; sudo find /path/to/your/magento -type d -exec chmod 755 {} \; sudo find /path/to/your/magento/var/ /path/to/your/magento/pub/media/ /path/to/your/magento/pub/static/ /path/to/your/magento/generated/ -type f -exec chmod 664 {} \; sudo find /path/to/your/magento/var/ /path/to/your/magento/pub/media/ /path/to/your/magento/pub/static/ /path/to/your/magento/generated/ -type d -exec chmod 775 {} \;
4. 重新安装Composer依赖
若通过源码包安装,先确保依赖完整:
composer install --no-dev
完成后再执行Magento安装命令。
5. 临时禁用OPcache
OPcache可能导致类加载异常,临时注释PHP配置文件中的OPcache相关配置,重启PHP服务后重试安装,安装完成后可重新启用。
内容的提问来源于stack exchange,提问作者Dương Huy Toàn
相关产品推荐
相关产品推荐

