小编fro*_*zee的帖子

Laravel 5.4 - php artisan cache:使用'file'缓存驱动程序时clear不清除缓存文件

Laravel 5.4 app.CACHE_DRIVER被设置为fileQUEUE_DRIVER被设置为sync.env.

当我运行php artisan cache:clear它说Cache cleared successfully,我的storage/framework/cache目录中仍然有236K的文件.

对此感到沮丧,我还手动删除了该目录下storage/framework/cache使用的所有文件/ rm -rf *目录.

现在,当我跑步时,art queue:restart我得到了[ErrorException] file_put_contents(/var/www/vhosts/my-app.com/releases/28/storage/framework/cache/ee/2f/ee2f842aa7bb1f53ed
f3a2ed2c09a1807ffa6c90): failed to open stream: No such file or directory

所以,我手上有两个问题.首先是:为什么Artisan没有删除所有缓存文件?我如何安全地删除它们?第二个问题是:我如何从中恢复,这样php artisan queue:restart就不会对我产生错误?

更新:在我看来,如果QUEUE_DRIVER设置为sync,我可能没有理由重新启动队列工作程序,因此跳过该命令完全解决了我的一半问题.仍不确定如何正确删除这些236K的缓存文件.

php queue caching laravel-5 artisan

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

如何从一个PHP安装中卸载PEAR,然后使用另一个现有的PHP安装来安装它

我的服务器上安装了两个php.一个版本的php是5.2.0配置了pear,另一个是5.2.9配置--without-pear.我的服务器正在运行Red Hat Enterprise Linux AS第4版(Nahant Update 9).

我想从php 5.2.0卸载pear(以及PHPUnit),然后重新安装它作为5.2.9版本的php的一部分.梨安装文档并没有真正涵盖这种情况,尽管他们确实告诉Linux用户"查阅相应发行版的文档",如果他们想要安装带有已配置的php版本的梨--without-pear.我无法找到这样的文档,即使我这样做了,我也不确定如何首先删除现有的pear安装.

php linux pear

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

Zend_Validate_Date只是无法正常工作

似乎Zend_Validate_Date只是根本无法正常工作.例如:

$validator = new Zend_Validate_Date(array('format' => 'yyyy'));
Run Code Online (Sandbox Code Playgroud)

这是一个简单的验证器,只能接受四位​​数年份,但$validator->isValid('1/2/3')返回true!真的,Zend?

或者这个怎​​么样:

$otherValidator = new Zend_Validate_Date(array('format' => 'mm/dd/yyyy'));
Run Code Online (Sandbox Code Playgroud)

即使使用上面的代码,也会$otherValidator->isValid('15/13/10/12/1222')返回true!

我正在使用Zend Framework 1.11.9.它只是我还是一个非常糟糕的验证课程?(更新:换句话说,我的代码是否有问题,或者这是一个应该提交的错误?)

php zend-framework zend-validate

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

梨不会卸载

最近我使用以下命令成功卸载了pear:

$ sudo pear uninstall pear

所以我最近重新安装了它,但我搞砸了安装,我想重新开始(再一次).这一次,当我运行上面的命令时,pear给了我这条消息:

pear/pear not installed

有什么建议?

php pear uninstall

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

如何在jQuery选择器中使用&符号(&)

我有一个<select>带有一堆<option>标签的菜单,所有标签都是从数据库表中填充的.

我需要使用jquery选择器$('option[value=d&c]'),以便找到一个选项,如下这个:

<option value="d&c">d&amp;c</option>
Run Code Online (Sandbox Code Playgroud)

请注意,该value属性中没有编码的&符号(&amp;),只是一个直的&符号(&),因为Zend Framework如何填充它.

唯一的问题是jQuery会出现以下错误:

uncaught exception: Syntax error, unrecognized expression: [value=d&c]
Run Code Online (Sandbox Code Playgroud)

它也不会接受$('option[value=d&amp;c]').在任何一种情况下,都是&符号搞乱了.有谁知道如何解决这个限制?

jquery jquery-selectors html-entities ampersand

4
推荐指数
2
解决办法
3942
查看次数

Laravel 5.5 - 从 API Resource 类中,如何获取底层模型类名称?

我有一个带有API 资源类的 Laravel 5.5 应用程序。如何从toArray()方法中获取底层模型类名?我知道您可以使用访问底层模型的属性和方法,$this->因为该类会自动将其代理到底层模型。但是我如何实际检索底层模型本身,或者更重要的是,模型类名称?有办法吗?

php laravel laravel-5 laravel-5.5

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

如何捕获图像onload中的异常

我无法弄清楚如何从被调用的函数中捕获异常image.onload.请注意以下示例:

function afterImgLoads() {
     throw 'This is being thrown from img.onload!';
}

try {
    var img    = new Image();
    img.onload = afterImgLoads;
    img.src    = 'path/to/valid/image.jpg';
} catch(e) {
    throw 'This is being thrown after setting img.src';
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我无法弄清楚如何在afterImgLoads()抛出自己的错误时抛出第二个throw语句.

javascript exception-handling image try-catch

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

即使所有中间件都被注释掉,Laravel 5.3 api 路由也会重定向

我正在使用新的 Laravel 5.3 应用程序编写 RESTful API。

我有一个routes/api.php像这样定义的资源:

Route::resource('/simple-path', 'Api\ControllerName');
Run Code Online (Sandbox Code Playgroud)

路由本身没有添加任何中间件,该控制器的构造函数中也没有添加任何中间件,任何父控制器/类中也没有添加任何中间件。

但是,/对于除 之外的任何 HTTP 动词,Laravel(?) 都会保持 302 重定向到GET,而我试图找出原因让自己发疯。即使我注释掉其中的所有中间件,app/Http/Kernel.php只要我/simple-path在 curl 或 PostMan 中运行简单的 POST 调用,它仍然会重定向。

现在,不要误会我的意思,我希望auth:api在我的 api 上使用中间件,尤其是对于 POST 或 PUT 请求,但是当首先没有任何中间件运行时,我无法弄清楚是什么导致它重定向(据我所知)。

我已经阅读了我能找到的所有关于中间件的文档。我想知道除了中间件之外是否还有其他原因可能导致这种情况?这是一个相当新鲜的应用程序,所以我与基本安装相比没有太大变化。

rest laravel url-redirection postman laravel-5

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