/ / php exec () nieodświeżanie Zmienna środowiskowa ścieżki - java, php, zmienne, ścieżka, środowisko

php exec () nie odświeżanie Zmienna środowiskowa Path - java, php, zmienne, ścieżka, środowisko

Uaktualniłem java jvm i zmieniły sposób przechowywania lokalizacji jvm w zmiennej środowiskowej PATH.

Wstawia "C: ProgramDataOracleJavajavapath;" na początku zmiennej Ścieżka.

Problem polega na tym, że kiedy wykonuję exec ("java bla bla bla"), php nie może znaleźć nowej ścieżki.

""java" is not recognized as an internal or external command, operable program or batch file."

Działa tylko wtedy, gdy wykonuję pełną ścieżkę:

exec("c:MyPathToJavajava blah blah blah")

Kiedy robię phpInfo (INFO_ENVIRONMENT), pokazuje onZmienna ścieżki przed zmianą. Czy jest gdzieś zbuforowany? Czytałem w innych wątkach, że ponowne uruchomienie serwera lub restartowanie Apache pomogłoby, ale wydaje się, że nie działa. Próbowałem wielu ponownych uruchomień.

var_dump ($ _ SERVER ["PATH"]), var_dump (getenv ("PATH")) wydają się pokazywać NOWA ścieżkę. Dlaczego wartość w phpInfo będzie inna? Czy istnieje gdzieś oddzielna kopia zmiennej Ścieżka?

Mam środowisko programistyczne, które przetestowałem w systemie Windows Vista, i nie mam tego problemu. Kiedy testuję go w środowisku Windows 2008, pojawia się problem.

Próbuję uniknąć twardego kodowania ścieżki.

Odpowiedzi:

1 dla odpowiedzi № 1

przed instrukcją exec możesz dodać ścieżkę do zmiennej ścieżki tak jak to

putenv("PATH=".getenv("PATH")."path to java here");