【问题标题】:proc_open() has been disabled for security reasons problem in laravel mail sending in serverproc_open() 出于安全原因在服务器中发送 laravel 邮件时被禁用
【发布时间】:2019-05-21 17:36:46
【问题描述】:

我在 cpanel(共享主机)中托管了一个 laravel 项目,但在使用 laravel 邮件功能发送电子邮件时遇到了问题。

我的上一个问题:Unable to send email in laravel in server

现在,我没有 swift mailer 问题,但我有新问题

proc_open() 出于安全原因已被禁用

我已尝试使用以下代码在服务器中正常发送邮件,

<?php
$to      = 'sagautam5@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?> 

它可以正常工作并发送电子邮件,但是当我尝试在 laravel 中遵循代码时

Route::get('testEmail', function ()
{

    $data = [
        'key'     => 'value'
    ];

    Mail::send([], [], function ($message) {
        $message->from('another@email.com', 'My name');
        $message->subject('subject');
        $message->to('sagautam5@gmail.com');
    });

    dd(Mail::failures());
});

proc_open() 出于安全原因已被禁用,遇到问题。

我对生产服务器不太熟悉。任何帮助表示赞赏。我被困在这里两天了

【问题讨论】:

  • 您能否修改主机上的php.ini 设置?
  • 我的主机没有该访问权限
  • 检查stackoverflow.com/questions/45854659/…。您也许可以通过使用不同的邮件客户端来解决这个问题
  • 或者只是改变主机
  • 我认为你需要在php.ini 中的disable_functions 中禁用它,然后再试一次。

标签: php laravel email cpanel


【解决方案1】:

第一次你需要运行这个命令:

php artisan vendor:publish --tag=flare-config

下次您应该在项目路径下打开此文件 config/flare.php 然后找到collect_git_information并将值更改为FALSE 最后你应该运行以下命令:

php artisan cache:clear

php artisan route:clear

php artisan view:clear

php artisan config:cache

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2018-10-03
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多