小编MaG*_*tas的帖子

Laravel正在"监听"URL中的任何位置的index.php字符串

我有一个Laravel 5项目,其中包含路由设置以及自定义404页面(主要用于丢失/不正确的"页面").

所以基本上如果我打开任何现有的路线,我得到正确的输出,每个其他的URL显示404:

  • project.com/login - 很好,登录页面

  • project.com/ghdkfgl - 404

这看起来很清楚,似乎按预期工作.因此,我在斜杠后添加的任何内容都会打开实际的现有页面或404页面.

除非我在URL中的任何位置放置'index.php'.在这种情况下,Laravel正在执行请求,原因如下:

  • project.com/jhdfkds/index.php/login - 打开登录页面(CSS和其他资源由于路径而消失,但很明显).

  • project.com/kfhjdsg/index.php/fkdhsg - 打开404(但CSS和其他资源也未加载).

我确信这两个都应该打开404因为我的项目中没有这样的路线.

我还在Laravel文档网站上检查了相同的行为(我假设它建立在Laravel上).

可能是什么导致了这个?怎么解决这个问题?

为什么Laravel甚至会考虑URL中间的'index.php'?

这与.htaccess文件有什么关系吗?(虽然我没有编辑)

php url laravel laravel-5

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

使用Laravel队列时如何避免作业数据库表锁问题?

我正在使用Laravel 5.1.

队列用于在多个系统之间进行数据获取/同步.

我使用数据库驱动程序,3"artisan queue:work --daemon"进程一直在运行.

作业由系统用户和调度程序(cron)分派.三个队列用于确定作业的优先级.

一切似乎工作得很好 - 作业表充满了记录,系统负责处理它们并删除已完成的记录.

但是一段时间后锁定问题开始干扰:

SQLSTATE [40001]:序列化失败:1213尝试获取锁定时发现死锁; 尝试重新启动事务

'RuntimeException',消息'在事务中无法交换PDO实例'.

SQLSTATE [HY000]:常规错误:1205超出锁定等待超时; 尝试重新启动事务

我还没有尝试过使用其他队列驱动程序.我真的很想留在数据库中.引擎是InnoDB,jobs表有默认结构和索引.

有没有办法解决这个问题?你的想法是什么?

值得一提的是,DB::reconnect()因为队列工作程序作为守护进程运行,所以我在内部调用我的作业类.

DispatchesJobs正如人们所期望的那样,使用特征调度作业.我不以任何其他方式干扰队列算法.

mysql queue innodb laravel laravel-5

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

Laravel 5只能从请求获得GET或POST参数

我可以使用Request::input()或访问请求参数Request::all().

问题是我的请求包括GET和POST参数,但只有GET用于计算签名.

有没有办法从Laravel 5.1中的请求中只检索一组GET或一组POST参数?

或者使用$ _GET和$ _POST是我唯一的选择吗?

谢谢.

php request laravel laravel-5

7
推荐指数
2
解决办法
7173
查看次数

Laravel扩展刀片并传递数组作为参数

我已经搜索了很多关于这个主题的内容并且没有在网上找到太多内容所以我开始研究并创建一篇关于这个主题的完整文章但是我无法理解这里的一些内容,在刀片中制作基本的自定义标签很容易

@search @endsearch or @title('something')
Run Code Online (Sandbox Code Playgroud)

但如果我想做下面的事情怎么办?

@cache('sidebar',10,[$silver,$gold,$platinum])
  html tags come here
@endcache
Run Code Online (Sandbox Code Playgroud)

目前我这样做

@cache('sidebar_',10,function() use ($silver_sidebar,$gold_sidebar))

@endcache

$pattern = Blade::createOpenMatcher('cache');
$replace = "<?php echo PageCache::cache$2 { ?>";
$view = preg_replace($pattern, $replace, $view);

// Replace closing tag
$view = str_replace('@endcache', '<?php }); ?>', $view);
Run Code Online (Sandbox Code Playgroud)

如何解析它以分离三个参数并获得end和start标记之间的内容?非常感谢您的帮助.谢谢你的回复.

php blade laravel-4

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

验证 Laravel 5 中的时间戳值

我正在编写验证器规则,用于在添加新的 Eloquent 模型记录之前检查数据是否有效。

字符串、小数和整数都非常清楚。

但是时间戳字段呢?

timestamp在我的数据库迁移之一中添加了 using方法的列,它工作得很好。我唯一需要的是在执行查询之前确保传递的值是有效的时间戳。

有直接/简单的方法还是应该为此编写正则表达式?

谢谢

validation laravel laravel-5

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

在编写我自己的magento扩展时,应该在哪里放置其他文件?

我正在写我的magento扩展并想出了一个问题.主扩展文件/目录结构非常清楚.我们有扩展配置文件,模型,帮助器,数据库资源,前端和后端脚本和样式表等的目录.

但是如果我的扩展使用一些不是类或资源的文件来包含在前端或后端呢?

例如:图像文件只会附加到电子邮件中,并且永远不会被浏览器直接检索.

应该/我可以只创建一个目录/ app/code/community/MyNamespace/MyExtensionName/images吗?

相同的目录树,以提高可读性:

app
    code
        community
            MyNamespace
                MyExtensionName
                    images
Run Code Online (Sandbox Code Playgroud)

或者还有其他正确/推荐的方法来实现吗?

structure recommendation-engine magento

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

Laravel 5.1 Mail :: send .env配置不起作用

我有一个应该发送电子邮件的排队作业.我一直收到错误:

Swift_TransportException(代码:530):预期的响应代码250,但得到代码"530",在/ my/project/path/vendor/swiftmailer/swiftmailer /上显示消息"530 5.7.1需要认证\ r \n \" LIB /班/雨燕/运输/ AbstractSmtpTransport.php:383

我试着用mail,sendmailsmtp司机.但是,如果我直接通过dir 设置配置值mail.php,config它似乎工作正常.

一旦我回到.env配置,它又是同样的问题.

我在模板中尝试输出.envconfig值 - 它们看起来都很好.

可能导致这种情况的任何想法?

php email config laravel laravel-5.1

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

如何获得mixpanel事件来自的IP?

是否有可能获得mixpanel事件"来自"的IP地址?

使用他们的webapp或自定义报告或API - 任何方法都会有所帮助.

或者我们可以为用户(配置文件)提取第一个/最后一个IP地址?

谢谢

ip analytics mixpanel

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