PHP 诊断专帖。欢迎在本帖求助。欢迎各种稀奇古怪问题

2017-11-27 17:19:20 +08:00
 Zephyros

有什么问题想请楼主帮忙看一看的,可以把你的求助帖链接回复到这里试试,我会尽量帮忙。不过不能保证一定能解决你的问题。

欢迎各位捧场。

2633 次点击
所在节点    PHP
18 条回复
jimisun
2017-11-27 17:51:54 +08:00
额 小白 顶一下 有个疑问? php 分层吗
Zephyros
2017-11-27 18:29:56 +08:00
@jimisun
这个取决于你。常用的 PHP 框架都是有分层的。
不过如果只是用 PHP 做一次性的简单网页,并且安全性要求也不高的话,也可以选择偷懒不分层。
elfsundae
2017-11-27 21:17:11 +08:00
分层是啥意思
zjp
2017-11-27 23:52:49 +08:00
@elfsundae 数据连接层 /业务层 /展现层 这样的
jimisun
2017-11-27 23:58:16 +08:00
@Zephyros 哦 平时写 java 一直在各层来回跳转,看 php 代码都是一个网页……
cncqw
2017-11-28 01:19:41 +08:00
@jimisun 页面用的 ajax,java 也可以啊,只是说嫌麻烦不用
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;
}
循环执行这个方法三十次会超内存,怎么解决?
sevenzhou1218
2017-11-28 09:47:47 +08:00
@php01 Image 没有 destroy()方法吗? 调用$img->destroy()试试呢
hheedat
2017-11-28 10:19:07 +08:00
php01
2017-11-28 10:20:56 +08:00
@sevenzhou1218 直接 unset 掉$img 不行吗
sevenzhou1218
2017-11-28 11:06:01 +08:00
@php01 unset 只是断开一个变量到一个内存区域的连接,垃圾回收也要满足一定的条件在执行的吧,因此 unset 后不一定会立马被垃圾回收。这个只是我的理解。可能不太对。
Zephyros
2017-11-28 13:23:22 +08:00
@sevenzhou1218
你的理解是对的。http://php.net/manual/en/language.types.resource.php

@php01
你需要检查是否有什么东西还在指向 Image::make($path)所返回的这个资源。
必须要检查你的 Image 类。我怀疑和 static 属性有关,但我的怀疑不一定正确。
php01
2017-11-28 13:56:53 +08:00
@Zephyros 我这个不是静态方法,这是使用的 laravel 的门面模式,看起来像是个静态一样而已
alinwu05
2017-11-28 14:29:59 +08:00
@php01 第二个 make 的 image 是不是没有释放呢?
chnyang
2017-11-28 14:55:34 +08:00
希望楼主介绍一些后台开发好用的类库
Zephyros
2017-11-29 01:16:35 +08:00
@php01
不知你的问题现在解决了没有。
如果还没有解决的话,不妨你把这一段代码剥离出来(但要能运行),连同 Image 类和 laravel 框架也带上,然后放仓库里,别人要复现此 bug 会容易一些,好帮你解决问题。
Zephyros
2017-11-29 01:23:27 +08:00
@chnyang
你可以来这里看看:
https://packagist.org/explore/popular
这里有一些流行的库,别忘了用 composer。
多谢捧场。
elfsundae
2017-11-29 23:09:17 +08:00
@zjp 哦,原来如此.. 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/409973

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX