Путь к файлу PHP из командной строки отличается - PullRequest
0 голосов
/ 23 мая 2018

Если я запускаю этот простой код через браузер, он работает нормально и создает 'text.txt' в том же месте, что и скрипт.

 <?php

    $op = fopen('text.txt', 'w');

    fwrite($op, 'test');

    fclose($op)

    ?>

Но если я запускаю с командной строкой

php script.php

создает файл в совершенно другом каталоге.

Почему один и тот же скрипт ведет себя по-разному при запуске браузера и командной строки?!

Чтобы это исправить, мне нужночтобы указать полный путь: fopen('/home/user/site.com/subfolder/text.txt', 'w');

У меня есть скрипт с множеством строк и множеством путей к файлам, было бы слишком много работы, чтобы изменить все.Как я могу исправить эту проблему, не указав полный путь в файле.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

start_script.sh

#!/bin/bash
cd /to/location/of/script
php script.php
0 голосов
/ 23 мая 2018

Откройте терминал и введите:

cd /home/user/site.com/subfolder

, затем выполните:

php script.php
...