小编Phi*_*oss的帖子

Git Bash mysql空白

我已经从www.git-scm.com安装了Git(bash?).我还有MySQL的工作安装.我正在使用Windows 8.1.我的mysql bin目录的路径在我的路径环境变量中,并且mysql服务IS正在运行.

如果我打开cmd.exe并键入mysql -u root然后它成功登录我,我得到"欢迎来到mysql监视器"消息,我可以开始输入sql.

但是在Git bash中,如果我键入mysql -u root然后它只是启动一个新的空白链接而不做任何事情.

如果我输入mysql -?然后我仍然得到mysql帮助信息.如果我输入mysql start,我得到了Access denied for user ''@'localhost' to database 'start'.

如何在git bash中正确访问mysql?

请看我的粗略图片,解释我的情况如下:

在此输入图像描述

mysql git-bash

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

Laravel在Request中检索绑定模型

有没有简单的方法来检索请求中的路由绑定模型?

我想更新模型,但在此之前,我想使用Requests authorize()方法执行一些权限检查.但我只希望模型的所有者能够更新它.

在控制器中,我只是做这样的事情:

public function update(Request $request, Booking $booking)
{
    if($booking->owner->user_id === Auth::user()->user_id)
    {
       // Continue to update
    }
}
Run Code Online (Sandbox Code Playgroud)

但我希望在请求中执行此操作,而不是在控制器内执行此操作.如果我做:

dd(Illuminate\Http\Request::all());
Run Code Online (Sandbox Code Playgroud)

它只给我标量形式属性(如_method等等,但不是模型).

如果我将模型绑定到路径,如何从请求中检索该模型?

提前谢谢了.

php laravel laravel-5

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

Laravel 5 Mime验证

好的,我正在尝试上传视频,并验证文件类型.

根据文件:

默剧:FOO,酒吧,...

验证中的文件必须具有与列出的扩展名之一相对应的MIME类型.

MIME规则的基本用法

'photo'=>'mimes:jpeg,bmp,png'

我正在上传一个wmv视频,我的规则是这样的:

return [
    'file' => ['required', 'mimes:video/x-ms-wmv']
]
Run Code Online (Sandbox Code Playgroud)

我已经做了print_r()Request::file('file'),我得到了以下数据:

Symfony\Component\HttpFoundation\File\UploadedFile Object
(
    [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
    [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => SampleVideo.wmv
    [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => video/x-ms-wmv
    [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 70982901
    [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
    [pathName:SplFileInfo:private] => C:\wamp\tmp\php6428.tmp
    [fileName:SplFileInfo:private] => php6428.tmp
)
Run Code Online (Sandbox Code Playgroud)

但是我收到错误:

{"file":["The file must be a file of type: video\/x-ms-wmv."]}
Run Code Online (Sandbox Code Playgroud)

我试图改变"MIME类型"来video/*,wmv(按照文档),也video/x-ms-wmv还没有一个正确的验证文件.

正如你可以从看到print_r()MIME类型的Symfony越来越 video/x-ms-wmv.

难道我做错了什么?或者Laravel/Symfony不能很好地验证文件?

我很感激帮助

编辑 确定,我打开validator.php并添加echo $value->guessExtension();ValidateMimes()方法中,然后输出asf.

为什么Symfony输出video\x-ms-wmv,文件扩展名为wmv,我正在验证它们两个,但是Laravel正在猜测 …

laravel laravel-5

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

Phpdoc没有找到该文件的摘要

我在我们的服务器上安装了phpDoc,设置等等.它正确地生成文档.我们正在使用"响应式"模板,但无论使用何种模板,都会发生此错误.

在"错误"下,扫描的每个文件似乎都有以下错误:

Type        Line    Description
error       0       No summary was found for this file
Run Code Online (Sandbox Code Playgroud)

我已经详尽地搜索了这个,但无法找到解决方案.我甚至已经完成了跟踪消息背后的服务器错误代码PPC:ERR-50000并尝试追踪导致错误的条件的努力,但有点丢失.

我的问题:

这个错误是什么意思?为什么它在第0行,我怎么能摆脱它?!即使我已正确完成docblock,我可以隐藏此错误吗?我没有错误的ocd疯了!

非常感谢

编辑 一些额外的信息:我的每个文件都有来自文件第1行的以下docblock:

<?php 
    /**
     * Short Description
     *
     * Long Description
     *
     * @package      Some Package
     * @subpackage   Some Subpackage
     * @category     Some Category
     * @author       F Bloggs <gbloggs@email.com>
     */
?>
Run Code Online (Sandbox Code Playgroud)

php phpdoc

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

Laravel在反向代理后面路线

好的,为了开发目的,我们有一个专用的Web服务器.它目前没有直接连接到互联网,所以我在另一台服务器上设置了一个apache反向代理,该服务器转发到开发服务器.

这样,我就可以访问服务器了.

问题是,Laravel中的路由现在以内部服务器IP地址或服务器计算机名称为前缀.

例如,我访问http://subdomain.test.com但是使用route()帮助程序生成的所有路由都显示以下url:http://10.47.32.22而不是http://subdomain.test.com.

反向代理设置如下:

<VirtualHost *:80>
    ServerName igateway.somedomain.com

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://10.47.32.22:80/
    ProxyPassReverse / http://10.47.32.22:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我已经设置了实际的域名config\app.php.

如何设置在路由中使用的默认URL?我不希望它使用内部地址,因为这违背了反向代理的要点.

我已经尝试将所有路线封闭在一个Route::group(['domain' ...组中,这也不起作用.

apache routing reverse-proxy laravel laravel-5

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

在Laravel中设置PHPUnit测试

我对单元测试很新,但我已经阅读了很多关于phpunit.de的文档(直到第10章).

它指出使用数据库进行测试可能很慢,但如果设置正确,它可以与非数据库测试一样快.

因此,我想在Laravel中测试一个模型.我已经创建了一个模型工厂来将数据植入数据库.

我也创建了一个基本测试.

在PHPUnits文档中,它声明在每次测试之前,setUp()调用该方法来设置测试.还有另一种静态方法setUpBeforeClass().

我想只为我的数据库表播种一次,并使用我的测试中的记录.所以我使用Laravels factory()函数从setUpBeforeClass()方法中为数据库设定种子.

这是我的代码:

class CommentTest extends TestCase
{
    protected static $blog;
    protected static $comments;

    public static function setUpBeforeClass()
    {
        parent::setUpBeforeClass();

        self::$blog = factory(App\Models\Content\Blog::class)->create();
        self::$comments = factory(App\Models\Content\Comment::class, 6)->create();
    }

    public function testSomething()
    {
        $this->assertTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时phpunit,我收到以下错误:

Fatal error: Call to a member function make() on a non-object in \vendor\laravel\framework\src\Illuminate\Foundation\helpers.php on line 54

Call Stack:
    0.0002     240752   1. {main}() \vendor\phpunit\phpunit\phpunit:0
    0.0173    1168632   2. PHPUnit_TextUI_Command::main() \vendor\phpunit\phpunit\phpunit:47 …
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel laravel-5.1

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

PDO和MySQL全文搜索

我正在将我的所有站点代码从使用mysql_*函数转换为PDO.关于PDO的PHP文档并不清楚我的需求.它为您提供了使用的功能,但没有详细说明在不同的场景中解释它们.

基本上,我有一个mysql全文搜索:

$sql = "SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST ('{$searchFor}*' IN BOOLEAN MODE)";
Run Code Online (Sandbox Code Playgroud)

实际的陈述要长得多,但这基本上就是这样.

我的问题是,我如何将其纳入PDO?

我知道你不打算在地方标记周围使用引号,所以你把它们留在AGAINST()函数中吗?我包括它们吗?如果我把它们遗漏,那么通配符符号会发生什么?

$sql = $this->db->prepare("SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST(:searchText IN BOOLEAN MODE");
$sql->bindValue(':searchText', $searchFor . '*');
Run Code Online (Sandbox Code Playgroud)

php mysql pdo full-text-search

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

Mod_rewrite检查php文件是否存在

我正在尝试编写一些mod_rewrite规则.目前一切正常.目前,我的通用网址如下所示:

http://website.com/about-us
http://website.com/privacy
Run Code Online (Sandbox Code Playgroud)

目前,这两个链接mod_rewritten来content.php,因为about-usprivacy不存在的.php文件,而是他们的内容被存储在数据库中,这content.php检索.

我有另一个网址:

http://website.com/contact-us
Run Code Online (Sandbox Code Playgroud)

哪个确实存在.php文件,因为它包含自定义数据.我如何检查是否contact-us.php存在.如果是,则重定向website.com/contact-uswebsite.com/contact-us.php,否则,重定向到website.com/content.php

下面是我的mod_rewrite文件:

RewriteEngine On

# I want the following condition and rule to look to see if the .php file exists,
# and if it does, redirect to the physical page, otherwise, redirect to content.php
RewriteCond %{DOCUMENT_ROOT}/([a-zA-Z0-9\-_]+).php -f
RewriteRule ^([a-zA-Z0-9\-_]+)\.php$ [L]


RewriteRule ^([a-zA-Z0-9\-_]+)$ /content.php [L]
RewriteRule ^(product1|product2|product3)/(designer1|designer2|designer3)$ /search.php?productType=$1&designer=$2 [L]
RewriteRule ^sale/(product1|product2|product3)$ /search.php?sale=1&productType=$1 [L]
Run Code Online (Sandbox Code Playgroud)

如果您需要任何进一步的信息,请告诉我!我很感谢回复:)

apache .htaccess mod-rewrite

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

PHP,Active Directory,用户帐户控制

首先,如果这应该是服务器故障,但它也与PHP有关,所以我认为这是最好的网站.

我正在创建一些方法来将我们的Intranet与Active Directory集成.其中一种方法将自动在我们的数据库中搜索新用户,如果找到新用户,则在AD中创建用户帐户.

同样,如果用户在数据库中标记为左侧,它将自动禁用活动目录中的帐户.

我一直在查看从活动目录传递的属​​性,特别是用户帐户控制字段.

微软网站上,它在其属性列表中声明:

The following table lists possible flags that you can assign. You cannot set some 
of the values on a user or computer object because these values can be set or 
reset only by the directory service. The flags are cumulative. To disable a 
user's account, set the UserAccountControl attribute to 0x0202 (0x002 + 0x0200). In 
decimal, this is 514 (2 + 512).
Run Code Online (Sandbox Code Playgroud)

问题 我的问题是,如果我们使用上面的例子,将记录标记为用户(512)和禁用(2),这最终使AD返回的字段值为514.

在PHP中,如何提取记录中标记的标志?例如,如果给出514,我如何使用PHP来计算其普通用户帐户,并且还禁用(2和512)?

例如,拆分以下内容:

Flag    | Splits into …
Run Code Online (Sandbox Code Playgroud)

php ldap active-directory

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

Laravel自定义验证消息参数

我正在使用laravel 5.1.我有一个summernotejs表单元素.我已成功创建了一个自定义验证规则,它采用表单输入提供的HTML,剥离标记,并对strlen()文本内容进行调用.因此,我可以看到没有任何标签的消息的长度.

这是我的验证规则:

Validator::extend('strip_min', function ($attribute, $value, $parameters, $validator) {
    return strlen(strip_tags($value)) >= $parameters[0];
});
Run Code Online (Sandbox Code Playgroud)

我通过指定:strip_min:10或者strip_min:20等来调用验证规则,其中数字是剥离标签后的最小字符串长度.

我想添加一条自定义消息,说内容长度必须是n字符长度的最小值.

关于这方面的Laravel文档是没用的.我打开了我的validation.php文件,其中包含所有错误消息.

我已将密钥添加strip_min到消息数组中,并显示以下消息:The :attribute must be at least :min characters.

当我测试它时,我收到错误消息:

The notice must be at least :min characters.
Run Code Online (Sandbox Code Playgroud)

如何转换:min为验证规则中指定的数字?!我已经阅读了文档,但它已经到处都是,我无法理解如何简单地用给定的数字替换:min.

php validation laravel laravel-5.1

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