Ошибка PHP с:, - PullRequest
       44

Ошибка PHP с:,

0 голосов
/ 29 сентября 2011

Я пытаюсь запустить этот php-код как командную строку в applecript. вот код

"/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);
)'"

Синтаксис проверяется нормально в редакторе яблочного скрипта, и скрипт запускается, но выдает эту ошибку:

Результат: ошибка «Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданная ошибка:» в коде командной строки в строке 1 »номер 254

не уверен, в чем проблема, но это: в mac-адресе в первой строке или в: позже, а также я попытался \ ": \" с: `s, но это тоже не сработало. Есть идеи, что не так?

1 Ответ

1 голос
/ 29 сентября 2011

Попробуйте что-то вроде этого:

"/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);
)'"
...