这不是一个关于当前问题的问题,而是一个“预防医学”问题:
我有以下代码,它是我用来在面向 Debian 的系统上启动 Nginx 环境的更大的脚本的一部分:
sed -i 's/post_max_size \= .M/post_max_size \= 200M/g' /etc/php/7.0/fpm/php.ini
sed -i 's/upload_max_filesize \= .M/upload_max_filesize \= 200M/g' /etc/php/7.0/fpm/php.ini
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/7.0/fpm/php.ini
/etc/init.d/php7.0-fpm restart && systemctl restart nginx.service
这段代码是整个脚本中唯一没有版本无关我发现这个事实有点“令人不安”,因为我可能会在一年或五年后以7.0
完整的版本运行该脚本,而这可能会导致错误。
您认为正则表达式足以让上述代码与版本无关吗?也许有更好的方法?
答案1
使用符号链接。
ln -s /etc/php/7.0 /etc/php/current
ln -s /etc/init.d/php7.0-fpm /etc/init.d/phpcurrent-fpm
sed -i 's/post_max_size \= .M/post_max_size \= 200M/g' /etc/php/current/fpm/php.ini
sed -i 's/upload_max_filesize \= .M/upload_max_filesize \= 200M/g' /etc/php/current/fpm/php.ini
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/current/fpm/php.ini
/etc/init.d/phpcurrent-fpm restart && systemctl restart nginx.service