Page 1 of 1

PHP5.6 CLI besitzt kein sendmail_path

Posted: Tue 2. Apr 2024, 18:25
by space2place
Ich bin sicher, dass die Ursache des Problems bei KeyHelp liegt
Ja


Server-Betriebssystem + Version
Debian 11


Eingesetzte Server-Virtualisierung-Technologie
ProxMox KVM


KeyHelp-Version + Build-Nummer
24.0 (Build 3220)


Problembeschreibung / Fehlermeldungen
PHP5.6 CLI besitzt kein sendmail_path

Erwartetes Ergebnis
/opt/keyhelp/php/5.6/bin/php -i | grep sendmail_path
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i


Tatsächliches Ergebnis

Code: Select all

/opt/keyhelp/php/5.6/bin/php -i | grep sendmail_path
sendmail_path =>  -t -i  =>  -t -i

Schritte zur Reproduktion
Auf der Console eingeben:

Code: Select all

/opt/keyhelp/php/5.6/bin/php -i | grep sendmail_path
Zusätzliche Informationen
Ich bin darauf aufmerksam geworden, aweil immer mal wieder ein Shopware CronJob mir eine Email gesendet hat
/dev/null

sh: 1: -t: not found


[Zend_Mail_Transport_Exception]
Unable to send mail.


sw:cron:run [-f|--force] [--] [<cronjob>]
Unter PHPInfo sieht das alles gut aus. Auch bei PHP7.1 ist das gleiche Problem. PHP 8.1 und 8.2 zeigen es dann richtig mit der CLI an.

Muss ich irgendwas im Panel setzen was ich bis jetzt übersehen habe, oder ist es ein Problem der kompilierten PHP Version.
Gruß
Sascha

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Tue 2. Apr 2024, 18:46
by 24unix
IMHO kommt das ganze aus der php.ini.

php 7.4 hat es bei mir:

Code: Select all

❯ keyhelp-php74 -i | grep sendmail_pa
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
Ich installiere mal eben die noch älteren Versionen lokal …

Code: Select all

❯ keyhelp-php56 -i | grep sendmail_pa
sendmail_path =>  -t -i  =>  -t -i

Code: Select all

❯ keyhelp-php71 -i | grep sendmail_pa
zsh: correct 'keyhelp-php71' to 'keyhelp-php81' [nyae]? n
sendmail_path =>  -t -i  =>  -t -i
Ich denke Du musst wohl in der jeweiligen php.ini tätig werden.

Oder aktuellere Software verwenden, wenn möglich? Das ganze Zeug ist schon lange EOL.

Edit:

In meinen FPM pools wird die als php_admin_value gesetzt, hope that helps.

Code: Select all

❯ grep -irn sendmail_path /etc/php
/etc/php/8.2/fpm/php.ini:1095:;sendmail_path =
/etc/php/8.2/fpm/pool.d/keyhelp.conf:14:php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f tracer@24unix.net
/etc/php/8.2/fpm/keyhelp_pool/fazerforum.conf:31:php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f info@fazerforum.info
/etc/php/8.2/fpm/keyhelp_pool/tracer.conf:31:php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f tracer@24unix.net
/etc/php/8.2/cli/php.ini:1095:;sendmail_path =
/etc/php/8.2/phpdbg/php.ini:1095:;sendmail_path =
/etc/php/8.2/apache2/php.ini:1095:;sendmail_path =

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Tue 2. Apr 2024, 18:57
by space2place
In den funktionierenden kompilerten Versionen (8.1/8.2) ist auch kein Eintrag in der php.ini.
Ich sehe eher das bei der Kompilierung was fehlt.

Deine php8.2 ist die vom System gelieferte Version. Davon habe ich aber nicht geredet.

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Tue 2. Apr 2024, 19:04
by 24unix
space2place wrote: Tue 2. Apr 2024, 18:57 Deine php8.2 ist die vom System gelieferte Version. Davon habe ich aber nicht geredet.
Die 7.4 aber nicht.

Das fazerforum läuft mit 7.4, also evtl. mal die Settings probieren?

Oh, ach ja, dann sollte ich auch das richtige pasten, sorry :)

Code: Select all

/opt/keyhelp/php/7.4/etc/php-fpm.d/fazerforum_php74.conf:31:php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f info@fazerforum.info

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 06:41
by space2place
Jetzt hast Du mir eine Zeile vom FPM von der kompilierten Version gepostet.
Die funktionieren alle richtig.. Nur die CLI hat die Probleme.

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 08:42
by Ralph
space2place wrote: Tue 2. Apr 2024, 18:25 Unter PHPInfo sieht das alles gut aus. Auch bei PHP7.1 ist das gleiche Problem. PHP 8.1 und 8.2 zeigen es dann richtig mit der CLI an.
Stimmt ... bei den kompilierten PHP Packages scheint keine config für CLI integriert zu sein

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 08:50
by blickgerecht
Hi!

Bin mir nicht sicher, ob es das gleiche Problem ist, wie hier: viewtopic.php?p=47885

Wir konnten auch keine korrekte Absender-Adresse für Cronjobs setzen. Geholfen hat am Ende die Anpassung im Skript selbst. Ob das aber bei Shopware so einfach geht?

Vielleicht hilft es euch ja :)

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 09:32
by Ralph
Bei den Cronjobs über compiled packages müßten (sollten) auch die gesetzten PHP (FPM) settings (disable_functions, fopen etc.) für den User greifen d.h. wenn für FPM z.b. kein fopen erlaubt ist sollte dies keinesfalls über einen Cronjob umgangen werden können.

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 10:46
by Florian
Hallo,

das ist doch nichts neues. Die PHP CLI nutzt schon immer eine andere Konfigurationsdatei.

Bei der System PHP Version ist es /etc/php/<version>/cli/php.ini udn bei den Zusatz PHP Versionen die jeweilige php.ini in /opt/keyhelp/php/<version>/etc

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 11:06
by space2place
Florian wrote: Wed 3. Apr 2024, 10:46 Hallo,

das ist doch nichts neues. Die PHP CLI nutzt schon immer eine andere Konfigurationsdatei.

Bei der System PHP Version ist es /etc/php/<version>/cli/php.ini udn bei den Zusatz PHP Versionen die jeweilige php.ini in /opt/keyhelp/php/<version>/etc
Hi Florian,
ist mir auch bekannt. Erklärt nur nicht warum die kompilierte Version 8.1/8.2 funktioniert und 7.1/5.6 (womit ich jetzt getestet habe) nicht.
Bei allen 4 ist kein Eintrag in deren php.ini für die CLI.
Bei FPM ist ein Eintrag drin

Gruß
Sascha

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 12:08
by Florian
Hallo,

normal erkennt das configure das Sendmail- Binary und dadurch wird es fest einkompiliert. Warum das hier bei den älteren Versionen nicht klappt prüfen wir und es wird dann entsprechend angepasste Versionen geben.

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Wed 3. Apr 2024, 13:30
by space2place
Florian wrote: Wed 3. Apr 2024, 12:08 Hallo,

normal erkennt das configure das Sendmail- Binary und dadurch wird es fest einkompiliert. Warum das hier bei den älteren Versionen nicht klappt prüfen wir und es wird dann entsprechend angepasste Versionen geben.
Danke Euch

Re: PHP5.6 CLI besitzt kein sendmail_path  [GELÖST]

Posted: Thu 4. Apr 2024, 15:52
by Alexander
Das Problem ist nun behoben. Die korrigierten Versionen gehen so nach und nach in den nächsten Tagen online.
Debian 11 Versionen sind in wenigen Minuten live.

Betroffen waren PHP-Pakete <= 7.2

Re: PHP5.6 CLI besitzt kein sendmail_path

Posted: Fri 5. Apr 2024, 12:56
by space2place
Top Alex.. Danke für Euren Einsatz.

Gruß
Sascha