我不小心通过Composer而不是htdocs
文件夹在user/name
中安装了我的Laravel项目。
- 我可以只将项目复制/粘贴到
htdocs
文件夹吗? - 还是我应该先卸载项目,然后通过 Composer 再次制作新应用程序?
一般来说,使用 Composer 创建的项目是独立的,不依赖于它在文件系统上的位置(我特别不熟悉 Laravel,但我没有任何理由怀疑这里的不同行为)。您可以毫无问题地移动/复制它们。
关于您对移动目录后无法加载插件的担忧:看看 Composer 如何生成它的自动加载器类映射(下面是一个简短的摘录):
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
// ...
如您所见,自动加载器没有连接到任何固定的文件系统路径,因此即使是由 Composer 自动生成的类加载器文件也可以轻松地在文件系统中移动。
我确实移动了我的,但它不小心坏了,无法通过端点访问任何数据。要修复它,在新项目中;
- 确保将上一个项目文件夹中的所有文件复制到新文件夹。尤其是
.env
文件。 - 在新文件夹中,在终端中运行
composer install
。 - 然后运行
php artisan key:generate
以在新文件夹的.env
文件中生成新密钥。
这对我来说很好用。
如前所述,确保移动所有文件,包括隐藏文件(例如:.env)
我必须清除我的配置缓存:
php artisan config:cache
为了安全起见,清除其他缓存
php artisan cache:clear