Попен не работает

Кажется, что на моем сервере popen() не работает вообще. Я получаю доступ test.php через браузер и файлы postt1.php а также postt2.php не быть казненным. article1.txt а также article2.txt файлы не пишутся. Все файлы находятся в одном каталоге.

В чем может быть проблема?

В файле test.php Я имею:

<?php
$pipe1 = popen('postt1.php', 'w');
$pipe2 = popen('postt2.php', 'w');

pclose($pipe1);
pclose($pipe2);
echo "end";
?>

Внутренние файлы postt1.php Я имею:

<?php
$tosave =  "Hello there";

$file = fopen("article1.txt","w");
fwrite($file,$tosave);
fclose($file);
echo $tosave;
echo "<br>done";
?>

и в postt2.php У меня то же самое, кроме того, что я пишу в файл article2.txt,

1

Решение

postt1.php конец postt2.php необходимость метки шебанга (#!) и выполнить разрешения.

Добавьте тег shebang, сообщив файлу, где интерпретатор PHP находится в первой строке файла (перед <?php!). Лучшие практики требуют, чтобы вы получали доступ к переводчику через env команда:

 #!/usr/bin/env php

<?php
$tosave =  "Hello there";

$file = fopen("article1.txt","w");
fwrite($file,$tosave);
fclose($file);
echo $tosave;
echo "<br>done";
?>

Вы также можете использовать шебанг, который указывает прямо на php: #!/usr/bin/php, Но это менее переносимо по всем системам.


Вы также должны убедиться, что оба файла имеют исполняемые права доступа:

$ chmod +x posttl.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]