Почему этот сценарий PHP не выполнит сценарий удара?

Почему я не могут выполнить этот сценарий удара с помощью php? Я попробовал exec() а также shell_exec().

index.php

<?php
$old = getcwd();
echo $old;
chdir($old);
$message=exec("a.sh");
print_r($message);
?>

a.sh

#!bin/bash
echo "i am a" > /opt/lampp/htdocs/a.txt
echo "Done"

Я попробовал chdir как предложено здесь, а также я проверил мой disable_functions в php.ini, это ничего не имеет. Я также проверил другие вопросы, но ни один, кажется, не решает мою проблему.

1
задан 5 September 2014 в 21:27

1 ответ

Во-первых, убедитесь, что хижина точно следующие:

#!/bin/bash
117-секундный, быть уверенным, что сценарий является исполняемым использованием следующей команды в терминале:

chmod +x /path/to/a.sh

И в-третьих, Вы должны для использования полного пути для сценария удара, или в случае, можно использовать:

$message=exec("$old/a.sh");

И, как в стороне примечание, следующие две команды из Вашего сценария PHP не имеют никакого смысла:

$old = getcwd();
chdir($old);

Они эквивалентны с chdir(getcwd()), которые изменяют текущий каталог на... текущий каталог, поэтому на самом деле, ничего не происходит.

2
ответ дан 11 November 2019 в 09:33

Другие вопросы по тегам:

Похожие вопросы: