小编MAS*_*ASh的帖子

Laravel 5.2邮件发送中的Swift_TransportException

我正在尝试从允许安全性较低的应用程序的Gmail帐户发送我的laravel应用程序的邮件:开启两步验证关闭

邮件的.env部分:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=library@gmail.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=ssl
Run Code Online (Sandbox Code Playgroud)

config/mail.php:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'library@gmail.com', 'name' => 'Admin'],
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('library@gmail.com'),
'password' => env('********'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => env('MAIL_PRETEND', false),
Run Code Online (Sandbox Code Playgroud)

首先我尝试使用'encryption' => env('MAIL_ENCRYPTION','tls').但得到以下错误消息:

ERROR: exception 'Swift_TransportException' with message 'Expected
response code 250 but got code "530", with message "530-5.5.1
Authentication Required. Learn more …
Run Code Online (Sandbox Code Playgroud)

php email gmail laravel-5

7
推荐指数
1
解决办法
1万
查看次数

向 Eloquent Collection 添加新属性

尝试将新属性添加到现有集合并访问它。

我需要的是这样的:

$text = Text::find(1);  //Text model has properties- id,title,body,timestamps
$text->user = $user;
Run Code Online (Sandbox Code Playgroud)

并通过访问用户,$text->user.

探索文档和 SO,我找到了put, prepend,setAttribute方法来做到这一点。

$collection = collect();
$collection->put('a',1);
$collection->put('c',2);
echo $collection->c; //Error: Undefined property: Illuminate\Support\Collection::$c
Run Code Online (Sandbox Code Playgroud)

再次,

$collection = collect();
$collection->prepend(1,'t');
echo $collection->t = 5; //Error: Undefined property: Illuminate\Support\Collection::$t
Run Code Online (Sandbox Code Playgroud)

$collection = collect();
$collection->setAttribute('c',99); // Error: undefined method setAttribute
echo $collection->c;
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

laravel eloquent laravel-5 laravel-collection

7
推荐指数
1
解决办法
3万
查看次数

在端口从Android手机访问laravel服务器

尝试从Android手机访问位于localhost:8000的laravel服务器。我做了什么:

  • 笔记本电脑和Android手机已连接到同一路由器。
  • 在端口8000的本地主机上启动laravel服务器
  • 找出路由器的IP地址,即192.168.0.110
  • 从手机浏览器尝试访问192.168.0.110:8000

如果我访问192.168.0.110,则可以从php服务器看到默认页面。但是当尝试连接到该端口时-显示错误页面,提示:

无法访问该网站

在笔记本电脑的浏览器中,我可以访问localhost:8000

我在做什么错 或如何连接?

对于更多操作系统:: Linux Mint和防火墙(ufw)已关闭。

更新 无法解决问题。改用ngrok。ngrok创建一个可公开共享的URL,该URL隧穿到您的localhost:port。

php linux android laravel-5 server

4
推荐指数
3
解决办法
1724
查看次数

Laravel 如何维护持久的数据库连接

我正在我的本地机器(我的笔记本电脑)上的 LAMP 设置中开发一个 Laravel 应用程序。

出于测试目的,我尝试使用 mysql 服务Aws RDS代替我的本地mysql server. 发现,一个 API 调用只有一个没有连接的数据库调用(查询:显示表) - 平均需要 12 秒。这是荒唐的。当我使用本地 mysql 服务器时,它大约超过 600 毫秒。到目前为止,尚未启用 PDO::ATTR_PERSISTANT。

登录Illuminate\Database\Connectors\Connector.php[inside createConnection()method],发现,每个请求都会调用这个方法。这适用于两个 mysql 服务器。

然后,我设置PDO::ATTR_PERSISTANTtrue。但响应时间是相似的。

仔细查看后,在同一个文件中找到了这个:

/**
 * Create a new PDO connection instance.
 *
 * @param  string  $dsn
 * @param  string  $username
 * @param  string  $password
 * @param  array  $options
 * @return \PDO
 */
protected function createPdoConnection($dsn, $username, $password, $options)
{
    if (class_exists(PDOConnection::class) && …
Run Code Online (Sandbox Code Playgroud)

mysql amazon-rds laravel-5

1
推荐指数
1
解决办法
5740
查看次数