公司需要部署一套新的环境,新环境里面好多项目,整体目录结构如为:/webserver/*
所有的项目都在webserver目录下,其中有laravel和thinkphp项目的代码。
laravel框架中, 根目录下storage vendor bootstrap 目录需要设置777权限。 thinkphp框架,根目录App下Runtime目录需要设置777权限。
因此相对应的目录结构如下; laravel框架的目录结构为:/webserver/aaa/www/storage,vendor,bootstrap thinkphp框架目录结构为:/webserver/bbb/www/App/Runtime
laravel和thinkphp项目都有好多,不可能每次一个个进入项目的目录设置权限,因此还是需要执行shell脚本进行操作。
第一次进行操作的时候,进入/webserver/,然后执行下面的代码,可以实现设置laravel和thinkphp项目相应的目录权限为777。
thinkphp框架Runtime目录批量设置777权限
for dir
in `ls`;
do
cd $dir;
if [
-d "www/App" ];
then
cd www/App;
chmod -R
777 Runtime;
cd ../../../;
else
cd ../;
fi
done
一些注释同理
laravel框架 storage vendor bootstrap 目录批量设置777权限
for dir
in `ls`;
do
cd $dir;
if [
-d "www/bootstrap" ];
then
cd www;
chmod -R
777 storage vendor bootstrap;
cd ../../;
else
cd ../;
fi
done
这样操作后,还是有一定的不足,因为每次都必须要进入/webserver目录执行,还有改进的地方,可以在任何地方执行,把上面代码保存为shell脚本执行即可。 因此改进代码如下:
thinkphp框架Runtime目录批量设置777权限
pwd=
"/webserver"
for dir
in $(ls
$pwd);
do
cd $dir;
if [
-d "www/App" ];
then
cd www/App;
chmod -R
777 Runtime;
cd ../../../;
else
cd ../;
fi
done
laravel框架 storage vendor bootstrap 目录批量设置777权限
pwd=
"/webserver"
for dir
in $(ls
$pwd);
do
cd $dir;
if [
-d "www/bootstrap" ];
then
cd www;
chmod -R
777 storage vendor bootstrap;
cd ../../;
else
cd ../;
fi
done