我犯了一个错误,我需要你的帮助。我有一个基于 Prestashop 1.6 的商店,但服务器空间不足,所以我决定删除禁用产品的图像。
我通过以下方式识别了禁用产品的 ID:
$sql_products = "SELECT id_product FROM ".DB_PREFIX."product WHERE active = 0";
我发现哪些图片与这些产品相关:
$sql_images = "SELECT id_image FROM ".DB_PREFIX."image WHERE id_product = ".$id_product;
我删除了与这些图像相关的图像/目录以及数据库中的行:
$sql_delete_image = "DELETE FROM ".DB_PREFIX."image WHERE id_image = ".$id_image;
现在,有时,我在向产品添加图像时遇到问题,我认为这可能与我所做的有关。
关于为什么会发生这种情况和/或如何解决这个问题有什么建议吗?
提前谢谢您!
您执行的清理操作非常简单,在添加新图像时不会导致任何问题。
尝试启用 Prestashop 的调试模式,看看在添加新图像时是否会在屏幕上获得有关错误的有用信息。
我还会检查服务器的磁盘空间(如果你有很多图像/文件,你可能已经用完了 inode)。
还要考虑检查 /img/p 上的写入权限(如果您从命令行运行脚本并且 Prestashop 无法保存新图像,它们可能已更改)。
另外,检查由于某种原因,各个数据库表 ps_image* 中的自动增量 ID 是否未对齐。