Bu yüzden RHEL6'da Apache altında dokuwiki kullanıyorum ve bir php betiğinde proc_open adında bir eklenti üzerinde çalışıyorum. Benim sorunum yerel olarak apache (under ~/.local/bin
) için kurulmuş bir uygulamayı çağırmaya çalışıyorum , ancak php'den çağrılan program farklı bir uygulama. Bu muhtemelen şu şekilde anlaşılıyor:
Kullanıcı olarak giriş yaptığımda apache
:
$ sudo su - user
Ve uygulama sürümümü kontrol ediyorum:
$ /var/www/.local/bin/rst2html.py --version
Alırım:
rst2html.py (Docutils 0.12 [release], Python 2.6.6, on linux2)
Ancak, apache altında çalışan php uygulamamda (proc_open ile) aynı çağrıyı yaptığımda şunu alıyorum:
rst2html.py (Docutils 0.6 [release], Python 2.6.6, on linux2)
Genel olarak kurulu olan sürüm, yani tüm kullanıcılar tarafından kullanılabilir.
Peki bu farklılığa neden olan şey, çevrede kurmam gereken bir şey var mı?
Not: python uygulaması kullanılarak kuruldu. pip
echo \$USER
'root' döndürdüm.
APACHE_RUN_USER
, değil USER
. Bir dosya oluşturursanız, dosyanın sahibi kimdir? Ya id
da ya whoami
geçitinizde ya da geçidinizde? Apache kullanarak bahsettiniz, ama hangi yöntem? Modül veya fcgi, cgi veya başka bir şey?
id
, etkili kullanıcıyı göstermek için kullanmayı deneyin .
whomai
doğru apache
kullanıcıyı alıyorum . Sanırım bu sorumu değiştiriyor. Güncelleyeceğim.