Почему PHP 8 mail() выдает TypeError null, хотя строка указана правильно?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему PHP 8 mail() выдает TypeError null, хотя строка указана правильно?

Сообщение Anonymous »

Я использую среду PHP 8.2. По какой-то причине, если я попытаюсь использовать функцию php mail() с пустой строкой в ​​качестве пятого параметра, я получаю следующую ошибку:

Код: Выделить всё

public function testmail()
{
$to = 'myemail@example.nl';
$subject = 'Testmail';
$message = 'This is a test';
$headers = [];
$additional_params = '';
mail($to, $subject, $message, $headers, $additional_params);
}

Код: Выделить всё

[TypeError] mail(): Argument #5 ($additional_params) must be of type string, null given in /src/Controller/UsersController.php on line 300
Кажется, он работает на моем локальном компьютере с той же версией PHP, но на моем сервере действительно есть эта проблема.
Теперь, прежде чем вы ответите, что мне вообще не следует передавать пятый аргумент, поскольку он не является обязательным, позвольте мне добавить дополнительный контекст. Вышеупомянутое является MVP реальной проблемы в моем проекте CakePHP 4.x, использующей CakePHP Mailer для отправки электронной почты.
Похоже, что возникающая ошибка возникает в классе MailTransport, где функция _mail() вызывает внутреннюю функцию mail() PHP. Пятый строковый параметр $additional_params = "" всегда передается классом `MailTransport, если он не равен нулю, но по умолчанию он равен пустой строке, если это так.
Теперь, поскольку это код поставщика, я не хочу его изменять, поскольку обновление отменит мои изменения. Я также уже пытался явно передать ' ' (пробел), но, к сожалению, ошибка все равно выдается.
Могу ли я еще что-нибудь попробовать или изменить в среде своего сервера?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ctly-given
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»