Путь, который могут прочитать максимумы при вызове из php - PullRequest
0 голосов
/ 02 декабря 2018

Мне нужно запускать команды максимумов из php.У меня есть два сервера Linux с идентичными настройками Centos и Maxima, но версии PHP - 7.18 и 7.19 соответственно.У меня есть каталог, содержащий файлы «test.php» и «test_maxima.txt».Разрешения для "test_maxima.txt" - 0644 (но я также пробовал 0777).Путь включения PHP на обоих серверах - это «.: / Usr / share / pear: / usr / share / php».Когда я запускаю команду «maxima -b test_maxima.txt» непосредственно из командной строки на обоих серверах, она работает просто отлично.Скрипт «test.php», который содержит, помимо прочего, строки:

require 'test_maxima.txt'; // sanity test that PHP includes things in current path
print_r(`maxima -b test_maxima.txt`);

Но когда я вызываю скрипт «test.php» из браузера, то на сервере под управлением PHP 7.18 скрипт запускаетсяскрипт maxima отлично, но в версии PHP 7.19 он отображает содержимое «test_maxima.txt» в соответствии с приведенным выше тестом работоспособности, но за ним следует вывод:

(%i1) batch("test_maxima.txt")
file_search1: test_maxima.txt not found in file_search_maxima.

Более того, если яrun:

print_r(`maxima -b /var/www/html/test_maxima.txt`);

или если я добавлю текущий путь с file_search_maxima:append..., то на выходе будет просто звездочка (*).

Running:

print_r(`maxima -r 'debugmode(true);file_search_maxima();quit();'`)

дает одинаковые результаты на обоих серверах:

[/tmp/.maxima/$$$.{mac,mc,wxm}, 
/usr/share/maxima/5.41.0/share/$$$.{mac,mc,wxm}, /usr/share/maxima/5.41.0/shar\
e/{affine,algebra,algebra/charsets,algebra/solver,amatrix,bernstein,calculus,c\
obyla,cobyla/ex,cobyla/lisp,colnew,colnew/lisp,combinatorics,contrib,contrib/E\
ulix,contrib/Grobner,contrib/Zeilberger,contrib/alt-display,contrib/altsimp,co\
ntrib/binsplit,contrib/bitwise,contrib/boolsimp,contrib/coma,contrib/diffequat\
ions,contrib/diffequations/tests,contrib/elliptic_curves,contrib/elliptic_curv\
es/figures,contrib/format,contrib/fresnel,contrib/gentran,contrib/gentran/man,\
contrib/gentran/test,contrib/gf,contrib/integration,contrib/levin,contrib/lurk\
mathml,contrib/maxima-odesolve,contrib/maximaMathML,contrib/mcclim,contrib/nam\
espaces,contrib/noninteractive,contrib/odes,contrib/operatingsystem,contrib/pr\
im,contrib/rand,contrib/rkf45,contrib/sarag,contrib/smath,contrib/state,contri\
b/symplectic_ode,contrib/trigtools,contrib/unicodedata,contrib/unit,contrib/ve\
ctor3d,descriptive,diff_form,diff_form/tests,diffequations,distrib,draw,dynami\
cs,ezunits,finance,fourier_elim,fractals,graphs,hypergeometric,integequations,\
integer_sequence,integration,lapack,lapack/blas,lapack/lapack,lbfgs,linearalge\
bra,logic,lsquares,macro,matrix,minpack,minpack/lisp,misc,mnewton,multiadditiv\
e,numeric,numericalio,odepack,odepack/src,orthopoly,pdiff,physics,simplex,simp\
lex/Tests,simplification,solve_rat_ineq,solve_rec,sound,stats,stringproc,sym,t\
ensor,to_poly_solve,trigonometry,utils,vector,z_transform}/$$$.{mac,mc,wxm}, 
/usr/share/maxima/5.41.0/$$$.{mac,mc,wxm}]()

В чем может быть проблема?Почему maxima не может найти файл в текущем рабочем каталоге PHP на одном из серверов?

...