我无法删除 Magento 2.2.6 中的文件夹 generated/code
I can't delete the folder generated/code in Magento 2.2.6
我的项目使用 Docker。安装带有示例数据的 2.2.6 包后,在执行 php bin/magento cache:clean
时出现如下问题
The file "/var/www/html/src/generated/code/Magento/Backend/App/Request/PathInfoProcessor/Proxy.php" cannot be deleted Warning!unlink(/var/www/html/src/generated/code/Magento/Backend/App/Request/PathInfoProcessor/Proxy.php):
No such file or directory
无法删除 generated/code
文件夹,我必须重新启动计算机然后才能删除文件夹
我使用 php 7.1.22、percona 5.6.39 和 docker 版本 18.06.1-ce-win73 (19507)
发生这种情况是因为项目文件夹的权限不足,files.Also如果使用 Apache 作为网络服务器,www-data 必须是项目的所有者。
请执行以下命令:--
- sudo chown -R www-data:www-data [magento 目录路径]
- 导航到您的 magento 项目的根目录
- 找到。 -type f -exec chmod 644 {} \;
- 找到。 -type d -exec chmod 755 {} \;
- 找到 ./var -type d -exec chmod 777 {} \;
- 找到 ./pub/media -type d -exec chmod 777 {} \;
- 找到 ./pub/static -type d -exec chmod 777 {} \;
- chmod 777 ./app/etc
- chmod 644./app/etc/*.xml
- chmod u+x bin/magento
在Docker中从容器的命令行安装magento 2为我解决了Windows中写权限的问题
您可能需要调整参数:
bin/magento setup:install --base-url=http://local.shop.magento2.com \
--db-host=db_magento2 --db-name=magento --db-user=magento --db-password=magento \
--admin-firstname=magento --admin-lastname=magento --admin-email=user@example.com \
--admin-user=admin --admin-password=admin123 --language=en_US \
--currency=USD --timezone=Europe/Madrid --use-rewrites=1
以防万一有人偶然发现这个:
将以下内容添加到您的 docker 文件
RUN echo "root:root" | chpasswd
这将允许您切换到 root 和 运行 chown
su root
password:root
chown -R user:group /folder
对于提供帮助的人来说,一个重要的狂热是认为所有系统都是一样的。
www-data是只要有条件的用户,很多人不会满足,因为他们更喜欢用nginx + php-fpm而不是通才模式。
其他时候,包括在该模型中的不是用户运行 Appache,nginx 或最后,php,是www-data。
所以最正确的答案不是:
- 将整个 magento 文件夹的所有者更改为 www-data
- 都不给权限777,这是网络所有畸变中最常见的
请按正确顺序排列
- 谁执行你写在magento目录下的进程?
- PHP 以用户身份还是全局写入?
- 我参考了我的php配置(php、php-fpm等)来验证哪个用户是执行操作的?
一旦我们有了数据,我们就可以执行
sudo chown -R <user_correct>: <group_correct>
请不要关注那些总是写 chmod -R 777
的人
或者有一天他们会以正常的方式醒来,但没有他们的网站,但却充满了难以治愈的感染。
我的项目使用 Docker。安装带有示例数据的 2.2.6 包后,在执行 php bin/magento cache:clean
The file "/var/www/html/src/generated/code/Magento/Backend/App/Request/PathInfoProcessor/Proxy.php" cannot be deleted Warning!unlink(/var/www/html/src/generated/code/Magento/Backend/App/Request/PathInfoProcessor/Proxy.php): No such file or directory
无法删除 generated/code
文件夹,我必须重新启动计算机然后才能删除文件夹
我使用 php 7.1.22、percona 5.6.39 和 docker 版本 18.06.1-ce-win73 (19507)
发生这种情况是因为项目文件夹的权限不足,files.Also如果使用 Apache 作为网络服务器,www-data 必须是项目的所有者。 请执行以下命令:--
- sudo chown -R www-data:www-data [magento 目录路径]
- 导航到您的 magento 项目的根目录
- 找到。 -type f -exec chmod 644 {} \;
- 找到。 -type d -exec chmod 755 {} \;
- 找到 ./var -type d -exec chmod 777 {} \;
- 找到 ./pub/media -type d -exec chmod 777 {} \;
- 找到 ./pub/static -type d -exec chmod 777 {} \;
- chmod 777 ./app/etc
- chmod 644./app/etc/*.xml
- chmod u+x bin/magento
在Docker中从容器的命令行安装magento 2为我解决了Windows中写权限的问题
您可能需要调整参数:
bin/magento setup:install --base-url=http://local.shop.magento2.com \
--db-host=db_magento2 --db-name=magento --db-user=magento --db-password=magento \
--admin-firstname=magento --admin-lastname=magento --admin-email=user@example.com \
--admin-user=admin --admin-password=admin123 --language=en_US \
--currency=USD --timezone=Europe/Madrid --use-rewrites=1
以防万一有人偶然发现这个: 将以下内容添加到您的 docker 文件
RUN echo "root:root" | chpasswd
这将允许您切换到 root 和 运行 chown
su root
password:root
chown -R user:group /folder
对于提供帮助的人来说,一个重要的狂热是认为所有系统都是一样的。
www-data是只要有条件的用户,很多人不会满足,因为他们更喜欢用nginx + php-fpm而不是通才模式。
其他时候,包括在该模型中的不是用户运行 Appache,nginx 或最后,php,是www-data。
所以最正确的答案不是:
- 将整个 magento 文件夹的所有者更改为 www-data
- 都不给权限777,这是网络所有畸变中最常见的
请按正确顺序排列
- 谁执行你写在magento目录下的进程?
- PHP 以用户身份还是全局写入?
- 我参考了我的php配置(php、php-fpm等)来验证哪个用户是执行操作的?
一旦我们有了数据,我们就可以执行
sudo chown -R <user_correct>: <group_correct>
请不要关注那些总是写 chmod -R 777
的人或者有一天他们会以正常的方式醒来,但没有他们的网站,但却充满了难以治愈的感染。