[请益] laravel 数据库 要释放res吗?

楼主: nono5938 (玥乂)   2017-05-05 22:00:10
我google了一下,
别人程式码都没有
free() 或是 close()之类的,
是不用释放资源?
还是他自己会释放啊,
怕会占用我的资源。
作者: hiigara (石头)   2017-05-06 10:27:00
是否写习惯C...PHP引擎自己会做内存管理,你碰不到一般来说Resource Handler在用不到以后会自动被PHP收拾掉不过DB连线是例外,因为有Persistent Connectionshttp://php.net/manual/en/language.types.resource.php“用不到”指的是没有其他东西指到这个变量,这边跟PHP的垃圾回收机制绑在一起。一旦PHP认为这个变量可以被GC,就会自动把下面的资源放掉,内存释放出来。所以官方文件“关闭PDO的DB连线”的方式是把pdo设为nullhttp://php.net/manual/en/pdo.connections.php实务上“判断东西没在用”这件事还满麻烦的...以上面文件的例子来说,如果$sth没有设为null,还是会因为$sth里面有用到$dbh而无法把$dbh回收掉不过最少在这只PHP跑完后,PHP还是会自动回收掉外部资源除~非~那是个persistence connection,那就会被留着让下一个用到的PHP程式使用
作者: banqhsia (BEN)   2017-05-11 01:04:00
没在管 +1
作者: blo6 (bbb)   2017-05-15 02:10:00
php是直译语言,是优点也是缺点。优点是你不用深入管理内存,缺点是当效能极限时很难再提升。这也是facebook把php改成组译的原因
作者: GALINE (天真可爱CQD)   2017-05-15 16:47:00
PHP 应该没有 assembler..HHVM 靠 JIT,目前 PHP7.1 没有JIT 就快要跟 HHVM 平起平坐,真的引入 JIT 的话应该更快没有办法操控底层资料结构是硬伤,但是这点对于九成九九的PHP 应用都不是问题,DB 以及网络传输没那么快更何况 Python 那么慢大家都用得这么开心了(酸
作者: MOONRAKER (㊣牛鹤鳗毛人)   2017-05-20 18:40:00
php是没有asm 不过他底层一样有opcode这些设计而且不是fb改的
作者: ej04cj86 (Swaglicious)   2017-06-01 07:00:00
Php 有自己的garbage collector,在一个request cycle结束后就会被collect and dump

Links booklink

Contact Us: admin [ a t ] ucptt.com