有什么问题想请楼主帮忙看一看的,可以把你的求助帖链接回复到这里试试,我会尽量帮忙。不过不能保证一定能解决你的问题。
欢迎各位捧场。
1
jimisun 2017-11-27 17:51:54 +08:00 via Android
额 小白 顶一下 有个疑问? php 分层吗
|
2
Zephyros OP |
3
elfsundae 2017-11-27 21:17:11 +08:00
分层是啥意思
|
7
php01 2017-11-28 09:06:19 +08:00
protected function process($path)//路径地址
{ $img = Image::make($path); $img->insert(Image::make($this->logo)->resize(105, 105), 'bottom-right', 15, 15); $spath = $path . 'logo.jpg'; $img->save($spath); unset($img); return $spath; } 循环执行这个方法三十次会超内存,怎么解决? |
8
sevenzhou1218 2017-11-28 09:47:47 +08:00
@php01 Image 没有 destroy()方法吗? 调用$img->destroy()试试呢
|
9
hheedat 2017-11-28 10:19:07 +08:00
|
10
php01 2017-11-28 10:20:56 +08:00
@sevenzhou1218 直接 unset 掉$img 不行吗
|
11
sevenzhou1218 2017-11-28 11:06:01 +08:00
@php01 unset 只是断开一个变量到一个内存区域的连接,垃圾回收也要满足一定的条件在执行的吧,因此 unset 后不一定会立马被垃圾回收。这个只是我的理解。可能不太对。
|
12
Zephyros OP @sevenzhou1218
你的理解是对的。http://php.net/manual/en/language.types.resource.php @php01 你需要检查是否有什么东西还在指向 Image::make($path)所返回的这个资源。 必须要检查你的 Image 类。我怀疑和 static 属性有关,但我的怀疑不一定正确。 |
15
chnyang 2017-11-28 14:55:34 +08:00
希望楼主介绍一些后台开发好用的类库
|
16
Zephyros OP @php01
不知你的问题现在解决了没有。 如果还没有解决的话,不妨你把这一段代码剥离出来(但要能运行),连同 Image 类和 laravel 框架也带上,然后放仓库里,别人要复现此 bug 会容易一些,好帮你解决问题。 |
17
Zephyros OP |