PHP gibt "Access denied", Berechtigungsproblem?

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
 
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
 
Du hast PHP über die Command-Line aufgerufen? Dann landet es ja nicht bei PHP-FPM. Du musst die Seite im Browser öffnen.
 
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 ()

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.
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?
 
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:

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.
 
  • Gefällt mir
Reaktionen: qiller
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.
 
Klar! Hier die Ausgabe von ps:

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.
 
Bin auch mit meinem Latein am Ende, da scheints doch Unterschiede zwischen Ubuntu/Debian und Manjaro zu geben, die ich nicht auf dem Schirm habe.
 
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!
 
Meine letzte Idee wäre, dass du den PHP-FPM SystemD-Service komplett beendest und ihn dann händisch (ohne SystemD) startest:
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.
 
Kommentiere die mal aus und schau, was drin steht (fpm/pool.d/www.conf).
Code:
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
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:
error_log /var/log/nginx/error.log warn;
 
Musste den Befehl mit sudo ausführen, sonst mag er 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...
 
Du müsstest es als Root ausführen, nicht als "http"-User. Er startet dann selbst die Subprozesse mit "http"-User.

UPDATE: Ups. Hab übersehen, dass du beides probiert hast.
 
Uridium schrieb:
Kommentiere die mal aus und schau, was drin steht (fpm/pool.d/www.conf).
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...

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:
Probier mal so:
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
Und wenn das immer noch nicht geht, dann ändere 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:
Zurück
Oben