我通过使用以下命令将Laravel网站克隆到与public_html(称为laravel)处于同一级别的目录,并将指向laravel / public目录的符号链接创建到public_html,从而成功将Laravel网站部署到Web服务器上:ln -s laravel/public public_html
这很好用。
现在,我想拥有一个用于开发的网站的“测试”版本,并且我希望这样做。
ln -s laravel_dev/public public_html/dev
它会在public_html / dev中创建一个名为public的文件(而非目录)。我试图使目标进入laravel / public / dev,结果相同。我再次检查了laravel_dev / public目录是否存在,并且它不为空。我还尝试过删除laravel / public / dev中的dev目录,结果是它在laravel / public中创建了一个名为dev的文件,但它不是目录。
为了澄清,我的目录树是这样的:
www
|___public_html(1)/dev
|___laravel/public(1*)/dev
|___laravel_dev/public
执行上述命令时,我位于www目录中(数字)表示符号链接,而*表示“物理”目录。我要使用的是这种符号:
www
|___public_html(1)/dev(2)
|___laravel/public(1*)/dev(2)
|___laravel_dev/public(2*)
您应该只在物理目录中建立链接。
mkdir laravel{,_dev}
ln -s laravel public_html
ln -s ../laravel_dev laravel/dev
它给我下面的目录/文件树
[Alex@Normandy so]$ tree
.
├── laravel
│ └── dev -> ../laravel_dev
├── laravel_dev
└── public_html -> laravel
简单测试:
[Alex@Normandy so]$ echo "test dev" > laravel_dev/test
[Alex@Normandy so]$ cat public_html/dev/test
test dev
请注意,您的网络服务器也可能有问题。