PHP 错误:,

发布于 2024-12-07 03:30:52 字数 842 浏览 8 评论 0原文

我正在尝试将此 php 代码作为 applescript 中的命令行运行。这是代码

"/usr/bin/php -r '($mac = 'gg:a2:gg:gg:gg:e6'; $porttemp =  '9'; $ip ='255.255.255.255';  
$mac_bytes = explode(\":\", $mac);
$mac_addr = \"\"; 
for ($i=0; $i<6; $i++) 
$mac_addr .= chr(hexdec($mac_bytes[$i]));
$packet = \"\"; 
for ($i=0; $i<6; $i++)  /*6x 0xFF*/ 
$packet .= chr(255); 
for ($i=0; $i<16; $i++) /*16x MAC address*/ 
$packet .= $mac_addr;
$port = $porttemp;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE);
socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port); 
socket_close($sock);
)'"

语法在 applescript 编辑器上检查正常并且脚本运行但它弹出此错误:

结果: 错误“PHP 解析错误:语法错误,第 1 行命令行代码中出现意外的 ':'”编号 254

不确定问题是什么,但它是第一行 mac 地址中的 : 还是后面的 : ,而且,我尝试使用 : 来 \":\" 但也不起作用。知道出了什么问题吗?

I am trying to run this php code as a command line in applescript. here is the code

"/usr/bin/php -r '($mac = 'gg:a2:gg:gg:gg:e6'; $porttemp =  '9'; $ip ='255.255.255.255';  
$mac_bytes = explode(\":\", $mac);
$mac_addr = \"\"; 
for ($i=0; $i<6; $i++) 
$mac_addr .= chr(hexdec($mac_bytes[$i]));
$packet = \"\"; 
for ($i=0; $i<6; $i++)  /*6x 0xFF*/ 
$packet .= chr(255); 
for ($i=0; $i<16; $i++) /*16x MAC address*/ 
$packet .= $mac_addr;
$port = $porttemp;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE);
socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port); 
socket_close($sock);
)'"

The syntax checks out fine on the applescript editor and the script runs but it pops this error:

Result:
error "PHP Parse error: syntax error, unexpected ':' in Command line code on line 1" number 254

not sure what the issue is but is it the : in the mac address in the first line or the : later and also, I tried \":\" with the :`s but that did not work either. Any idea whats wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲性难收 2024-12-14 03:30:52

尝试这样的事情:

"/usr/bin/php -r '($mac = "gg:a2:gg:gg:gg:e6";
$porttemp =  "9";
$ip ="255.255.255.255";
$mac_bytes = explode(":", $mac);
$mac_addr = ""; 
for ($i=0; $i<6; $i++) 
$mac_addr .= chr(hexdec($mac_bytes[$i]));
$packet = ""; 
for ($i=0; $i<6; $i++)  /*6x 0xFF*/ 
$packet .= chr(255); 
for ($i=0; $i<16; $i++) /*16x MAC address*/ 
$packet .= $mac_addr;
$port = $porttemp;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE);
socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port); 
socket_close($sock);
)'"

Try something like this instead:

"/usr/bin/php -r '($mac = "gg:a2:gg:gg:gg:e6";
$porttemp =  "9";
$ip ="255.255.255.255";
$mac_bytes = explode(":", $mac);
$mac_addr = ""; 
for ($i=0; $i<6; $i++) 
$mac_addr .= chr(hexdec($mac_bytes[$i]));
$packet = ""; 
for ($i=0; $i<6; $i++)  /*6x 0xFF*/ 
$packet .= chr(255); 
for ($i=0; $i<16; $i++) /*16x MAC address*/ 
$packet .= $mac_addr;
$port = $porttemp;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); 
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, TRUE);
socket_sendto($sock, $packet, strlen($packet), 0, $ip, $port); 
socket_close($sock);
)'"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文