Das hatte ich im Edit von #16 schon gefragt^^. Konfig sieht ok für mich aus. Das open_basedir kannste glaub wieder rausnehmen, das war ja nurn Test.Photon schrieb:Wird ggf. php-fpm in dem Moment nicht ausgeführt
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
PHP gibt "Access denied", Berechtigungsproblem?
- Ersteller Photon
- Erstellt am
foofoobar
Captain
- Registriert
- Dez. 2011
- Beiträge
- 3.742
Photon schrieb:Könnte man diese Vermutung denn irgendwie überprüfen und ggf. herausfinden, was es genau ist?
Ich bin mir ziemlich sicher, dass Manjaro kein SELinux verwendet, ist ja kein CentOS.
edit: Ohje, ich hab noch nie mit strace gearbeitet und es scheint recht mächtig aber auch recht kompliziert für Anfänger zu sein... Würde mich über einen Link freuen zu einer kurzen Einführung, die in dem Fall hilfreich wäre!
strace -f /dein/teil/was/du/dir/anglotzen/willst
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Sorry, mein Fehler, php-fpm war in dem Moment tatsächlich gestoppt. Ich habe es gestartet, dann strace gestartet und in einem anderen Terminal index.php mit php aufgerufen, was die übliche Fehlermeldung verursachte. Hier die Ausgabe von strace:
Code:
strace: Process 2382 attached
strace: Process 2381 attached
strace: Process 2378 attached
[pid 2378] getpid( <unfinished ...>
[pid 2381] accept(9, <unfinished ...>
[pid 2382] accept(9, <unfinished ...>
[pid 2378] <... getpid resumed>) = 2378
[pid 2378] epoll_wait(7, [], 1, 77) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 777) = 0
[pid 2378] getpid() = 2378
[pid 2378] socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 9
[pid 2378] getsockopt(9, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
[pid 2378] setsockopt(9, SOL_SOCKET, SO_SNDBUF, [8388608], 4) = 0
[pid 2378] getsockopt(9, SOL_SOCKET, SO_SNDBUF, [425984], [4]) = 0
[pid 2378] setsockopt(9, SOL_SOCKET, SO_SNDBUFFORCE, [8388608], 4) = 0
[pid 2378] getuid() = 0
[pid 2378] geteuid() = 0
[pid 2378] getgid() = 0
[pid 2378] getegid() = 0
[pid 2378] sendmsg(9, {msg_name={sa_family=AF_UNIX, sun_path="/run/systemd/notify"}, msg_namelen=22, msg_iov=[{iov_base="READY=1\nSTATUS=Processes active:"..., iov_len=87}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 87
[pid 2378] close(9) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 209) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, ^Cstrace: Process 2378 detached
<detached ...>
strace: Process 2381 detached
strace: Process 2382 detached
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Hoppla, jetzt aber:
Code:
strace: Process 2382 attached
strace: Process 2381 attached
strace: Process 2378 attached
[pid 2378] getpid( <unfinished ...>
[pid 2381] accept(9, <unfinished ...>
[pid 2382] accept(9, <unfinished ...>
[pid 2378] <... getpid resumed>) = 2378
[pid 2378] epoll_wait(7, [], 1, 213) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 639) = 0
[pid 2378] getpid() = 2378
[pid 2378] socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 9
[pid 2378] getsockopt(9, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
[pid 2378] setsockopt(9, SOL_SOCKET, SO_SNDBUF, [8388608], 4) = 0
[pid 2378] getsockopt(9, SOL_SOCKET, SO_SNDBUF, [425984], [4]) = 0
[pid 2378] setsockopt(9, SOL_SOCKET, SO_SNDBUFFORCE, [8388608], 4) = 0
[pid 2378] getuid() = 0
[pid 2378] geteuid() = 0
[pid 2378] getgid() = 0
[pid 2378] getegid() = 0
[pid 2378] sendmsg(9, {msg_name={sa_family=AF_UNIX, sun_path="/run/systemd/notify"}, msg_namelen=22, msg_iov=[{iov_base="READY=1\nSTATUS=Processes active:"..., iov_len=87}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 87
[pid 2378] close(9) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 354) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, <unfinished ...>
[pid 2381] <... accept resumed>{sa_family=AF_UNIX}, [112 => 2]) = 4
[pid 2381] fcntl(4, F_GETFD) = 0
[pid 2381] fcntl(4, F_SETFD, FD_CLOEXEC) = 0
[pid 2381] poll([{fd=4, events=POLLIN}], 1, 5000) = 1 ([{fd=4, revents=POLLIN}])
[pid 2381] times({tms_utime=0, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 1432382079
[pid 2381] read(4, "\1\1\0\1\0\10\0\0", 8) = 8
[pid 2381] read(4, "\0\1\0\0\0\0\0\0", 8) = 8
[pid 2381] read(4, "\1\4\0\1\3\270\0\0", 8) = 8
[pid 2381] read(4, "\f\0QUERY_STRING\16\3REQUEST_METHODGE"..., 952) = 952
[pid 2381] read(4, "\1\4\0\1\0\0\0\0", 8) = 8
[pid 2381] rt_sigaction(SIGPROF, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGHUP, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGINT, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGQUIT, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGTERM, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGUSR1, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] rt_sigaction(SIGUSR2, NULL, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, 8) = 0
[pid 2381] setitimer(ITIMER_PROF, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=60, tv_usec=0}}, NULL) = 0
[pid 2381] rt_sigaction(SIGPROF, {sa_handler=0x55b284ba0dd0, sa_mask=~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7f9df55171d0}, NULL, 8) = 0
[pid 2381] rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", {st_mode=S_IFREG|0777, st_size=30401, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle", {st_mode=S_IFDIR|0777, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", {st_mode=S_IFREG|0777, st_size=30401, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle", {st_mode=S_IFDIR|0777, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", {st_mode=S_IFREG|0777, st_size=30401, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle", {st_mode=S_IFDIR|0777, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", {st_mode=S_IFREG|0777, st_size=30401, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle", {st_mode=S_IFDIR|0777, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share/nginx", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 2381] openat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", O_RDONLY) = -1 EACCES (Keine Berechtigung)
[pid 2381] write(2, "NOTICE: PHP message: PHP Warning"..., 118) = 118
[pid 2381] write(2, "ERROR: Unable to open primary sc"..., 118) = 118
[pid 2381] times({tms_utime=0, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 1432382081
[pid 2381] setitimer(ITIMER_PROF, {it_interval={tv_sec=0, tv_usec=0}, it_value={tv_sec=0, tv_usec=0}}, NULL) = 0
[pid 2381] write(4, "\1\7\0\1\0\335\3\0PHP message: PHP Warning"..., 368) = 368
[pid 2381] shutdown(4, SHUT_WR) = 0
[pid 2381] recvfrom(4, "\1\5\0\1\0\0\0\0", 8, 0, NULL, NULL) = 8
[pid 2381] recvfrom(4, "", 8, 0, NULL, NULL) = 0
[pid 2381] close(4) = 0
[pid 2381] write(2, "\0fscf\0", 6) = 6
[pid 2381] accept(9, <unfinished ...>
[pid 2378] <... epoll_wait resumed>[], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 982) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, [], 1, 1000) = 0
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] getpid() = 2378
[pid 2378] epoll_wait(7, ^Cstrace: Process 2378 detached
<detached ...>
strace: Process 2381 detached
strace: Process 2382 detached
Ergänzung ()
Das ist übrigens eine interessante Beobachtung, denn beim Aufruf via Kommandozeile tauchten die Berechtigungsprobleme auch schon auf, vgl. https://www.computerbase.de/forum/t...ed-berechtigungsproblem.2228970/post-30263294). Dann kann es ja nicht speziell an PHP-FPM liegen sondern muss an PHP selbst liegen, oder?cx01 schrieb:Du hast PHP über die Command-Line aufgerufen? Dann landet es ja nicht bei PHP-FPM. Du musst die Seite im Browser öffnen.
Zuletzt bearbeitet:
Das Permission-Problem beim Command-Line-Aufruf war ein anderes. Er versucht da die gibbon.php zu öffnen. Du warst in dem Moment aber nicht im "GibbonEduCore"-Ordner drin, sondern in deinem Home-Directory, auf welches der "http"-User keinen Zugriff hat (in dessen Kontext du es mit sudo ausgeführt hast).
Zumindest wissen wir dank strace nun, dass er versucht die richtige Datei zu öffnen:
Leider wissen wir nicht, warum er keine Berechtigung hat. Kannst du grad mal das machen:
Und gucken was in der ersten Spalte steht? Nur um absolut sicherzugehen, dass php-fpm als "http"-User läuft.
Zumindest wissen wir dank strace nun, dass er versucht die richtige Datei zu öffnen:
Code:
[pid 2381] openat(AT_FDCWD, "/usr/share/nginx/html/GibbonEduCore-InstallBundle/index.php", O_RDONLY) = -1 EACCES (Keine Berechtigung)
Leider wissen wir nicht, warum er keine Berechtigung hat. Kannst du grad mal das machen:
Code:
ps aux | grep php-fpm
Und gucken was in der ersten Spalte steht? Nur um absolut sicherzugehen, dass php-fpm als "http"-User läuft.
??Photon schrieb:Dann kann es ja nicht speziell an PHP-FPM liegen sondern muss an PHP selbst liegen, oder?
Du hast doch vorhin geschrieben, dass du die php-Info Datei auf der Konsole ausführen konntest, oder? Und dann hattest du geschrieben, dass das im Browser nicht ging.
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Klar! Hier die Ausgabe von ps:
Der Aufruf aus der Kommandozeile klappt, aber php-Dateien, die durch die ursprünglich ausgeführte Datei geladen werden sollen, können nicht geladen werden, siehe #12.
php-info ruft keine weiteren php-Dateien auf und kann deswegen vollständig in der Kommandozeile ausgeführt werden (aber nicht im Browser).
Code:
root 2378 0.0 0.8 80180 17236 ? Ss 18:32 0:00 php-fpm: master process (/etc/php/php-fpm.conf)
http 2381 0.0 0.5 80180 10768 ? S 18:32 0:00 php-fpm: pool www
http 2382 0.0 0.3 80180 7832 ? S 18:32 0:00 php-fpm: pool www
photon 3217 0.0 0.1 6768 2268 pts/2 S+ 19:22 0:00 grep php-fpm
Der Aufruf aus der Kommandozeile klappt, aber php-Dateien, die durch die ursprünglich ausgeführte Datei geladen werden sollen, können nicht geladen werden, siehe #12.
php-info ruft keine weiteren php-Dateien auf und kann deswegen vollständig in der Kommandozeile ausgeführt werden (aber nicht im Browser).
Also irgendwie scheint alles korrekt zu sein, und trotzdem funktioniert es nicht...
Was mir vorhin noch aufgefallen ist, dass Arch-Linux (also auch Manjaro) eine sehr restriktive SystemD-Konfiguration für PHP-FPM hat.
Die liegt in: /usr/lib/systemd/system/php-fpm.service
Vielleicht kannst du mal testweise einige der Zeilen auskommentieren, die mit "Protect", "Private" oder "Restrict" anfangen. Ist jetzt aber absolut ins Blaue hinein geraten.
Was mir vorhin noch aufgefallen ist, dass Arch-Linux (also auch Manjaro) eine sehr restriktive SystemD-Konfiguration für PHP-FPM hat.
Die liegt in: /usr/lib/systemd/system/php-fpm.service
Vielleicht kannst du mal testweise einige der Zeilen auskommentieren, die mit "Protect", "Private" oder "Restrict" anfangen. Ist jetzt aber absolut ins Blaue hinein geraten.
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Hab alles auskommentiert, was an restriktiven Optionen da war, der Aufruf im Browser klappt unverändert nicht...
Vielleicht setze ich einfach eine Debian VM auf und versuche es dort nochmal. Ich dachte, es geht schneller, wenn man nutzt, was schon da ist, aber Manjaro sagt: Fasch gedacht.
Danke für die vielen Tipps trotzdem, hab Einiges gelernt, auch wenn wir der Ursache des Problems am Ende nicht auf die Schliche gekommen sind!
Vielleicht setze ich einfach eine Debian VM auf und versuche es dort nochmal. Ich dachte, es geht schneller, wenn man nutzt, was schon da ist, aber Manjaro sagt: Fasch gedacht.
Danke für die vielen Tipps trotzdem, hab Einiges gelernt, auch wenn wir der Ursache des Problems am Ende nicht auf die Schliche gekommen sind!
Achso, wie hattest du denn die php-info im Browser aufgerufen? Ich hoffe auch mit dem richtigen Port, also http://localhost:8000/info.php - weil der normale vHost auf Port 80 hat ja kein php-Handling aktiviert.
Meine letzte Idee wäre, dass du den PHP-FPM SystemD-Service komplett beendest und ihn dann händisch (ohne SystemD) startest:
(Das ist der ExecStart-Befehl aus php-fpm.service. Falls es bei dir anders aussieht, dann nimm deinen Befehl)
Und dann halt versuchst, die Seite im Browser zu öffnen.
Code:
/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
(Das ist der ExecStart-Befehl aus php-fpm.service. Falls es bei dir anders aussieht, dann nimm deinen Befehl)
Und dann halt versuchst, die Seite im Browser zu öffnen.
Uridium
Commander
- Registriert
- Juni 2005
- Beiträge
- 2.172
Kommentiere die mal aus und schau, was drin steht (fpm/pool.d/www.conf).
Sofern nicht hilfreich, würde ich das Loglevel hoch drehen, um zu sehen, was er so (richtig) macht, wo er sich genau bewegt usw. (warn->info).
Code:
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
Code:
error_log /var/log/nginx/error.log warn;
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Musste den Befehl mit sudo ausführen, sonst mag er nicht:
Der Aufruf über den Browser klappt weiterhin nicht...
Code:
~ sudo -u http /usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
[05-Feb-2025 19:58:20] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[05-Feb-2025 19:58:20] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
[05-Feb-2025 19:58:20] ERROR: unable to bind listening socket for address '/run/php-fpm/php-fpm.sock': Permission denied (13)
[05-Feb-2025 19:58:20] ERROR: FPM initialization failed
~ sudo /usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
[05-Feb-2025 19:58:42] NOTICE: fpm is running, pid 1808
[05-Feb-2025 19:58:42] NOTICE: ready to handle connections
[05-Feb-2025 19:58:42] NOTICE: systemd monitor interval set to 10000ms
Der Aufruf über den Browser klappt weiterhin nicht...
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Hab ich gemacht und dann den Dienst neugestartet. Dann die php-Datei im Browser aufgerufen. Aber die Log-Datei war an dem in der www.conf angegebenen Pfad nicht zu finden...Uridium schrieb:Kommentiere die mal aus und schau, was drin steht (fpm/pool.d/www.conf).
edit: Die Datei anzulegen, wie hier beschrieben (in meinem Fall mit http statt www-data), hat auch nicht geholfen: https://stackoverflow.com/a/23223585/4135154
Zuletzt bearbeitet:
Uridium
Commander
- Registriert
- Juni 2005
- Beiträge
- 2.172
Probier mal so:
Und wenn das immer noch nicht geht, dann ändere
Code:
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
catch_workers_output = yes
listen = /run/php-fpm/php-fpm.sock
nach listen = /run/php-fpm/php-fpm2.sock
und schau, dass sich der Socket auch wirklich umbenannt hat, um zu sehen, ob der Pool überhaupt beachtet wird.
Zuletzt bearbeitet:
- Registriert
- Apr. 2006
- Beiträge
- 5.253
Leider nein...Uridium schrieb:Und wenn das immer noch nicht geht
Hab den Überblick verloren, in welcher Datei war die Zeile nochmal?Uridium schrieb:dann ändere listen = /run/php-fpm/php-fpm.sock nach listen = /run/php-fpm/php-fpm2.sock
![Breites Grinsen :D :D](/forum/styles/smilies/biggrin.gif)
Ähnliche Themen
- Antworten
- 8
- Aufrufe
- 34.385
- Antworten
- 6
- Aufrufe
- 1.659
- Antworten
- 4
- Aufrufe
- 2.598