试图找出Plesk的这种令人困惑的编码。 Plesk在其系统中提供事件处理程序和预先制作的变量。 (Plesk事件处理程序文档:http://download1.parallels.com/Plesk/PP12/12.0/Doc/en-US/online/plesk-administrator-guide/index.htm?fileName=67897.htm“
简而言之,我正在尝试为创建新域的客户启用nginx,使用创建的域(变量名称:NEW_DOMAIN_NAME)变量自动将输出“粘贴”到特定命令中,然后输入命令要自动运行。这是它的工作原理:
/ usr / local / psa / bin / subscription --update-web-server-settings domain.com -nginx-serve-static true -nginx-serve-php true
为了检索域名,我假设您使用了echo $ NEW_DOMAIN_NAME。出于某种原因,我根本无法使用它。我所知道的是当你回应$ NEW_DOMAIN_NAME>> /tmp/testfile.log输出打印domain.com并保存文档。
我在plesk事件处理程序的命令行中尝试的编码如下:
domainname="$NEW_DOMAIN_NAME"
/usr/local/psa/bin/subscription --update-web-server-settings echo "$domainname" -nginx-serve-static true -nginx-serve-php true
当请求Plesk论坛的支持时,遗憾的是他们不想出于某种原因提供适当的代码。但这是他们的回应:
“你必须在你的命令中定义你想要的变量”NEW_DOMAIN_NAME“ - 订阅实用程序默认不知道这个,因为该变量不会在任何参数定义中用于此实用程序。”
以下是订阅实用程序文件显示的内容:
#!/opt/psa/bin/sw-engine-pleskrun
<?php
die("The file {$_SERVER['SCRIPT_FILENAME']} is part of Plesk distribution. $
__sw_loader_pragma__('PLESK12');
?>
�v�9�9x^M��ƇTH�ڇh��u-2п��(���F^NؿA^Q�^U�UѺ=X ^]^N����
Em�I�VtQh$������֞<T^T��)H�I^N<^LK})[A�^\��+c�^?��AҖˇҁ]�%�^_.�ށFɁUāk,�$ү�Ưw�w^^K�$
请指教,谢谢你们!
答案 0 :(得分:0)
删除echo
,不要将$NEW_DOMAIN_NAME
分配给$domainname
;只需使用$NEW_DOMAIN_NAME
本身:
/usr/local/psa/bin/subscription --update-web-server-settings "$NEW_DOMAIN_NAME" -nginx-serve-static true -nginx-serve-php true
shell将$NEW_DOMAIN_NAME
的内容作为命令行参数。这应该有用。