草庐IT

php - 增加 PHP 内存限制(Apache、Drupal6)

我正在尝试在共享托管服务器上运行Drupal安装。(我只是订阅了提供商-我不拥有盒子。)我需要增加Apache服务器的PHP内存限制。我试过了ini_set('memory_limit','64M');在settings.php(每个请求中包含的文件)中,但这会导致内部服务器错误500。如果我将其取出,则会出现此错误:Fatalerror:Allowedmemorysizeof33554432bytesexhausted(triedtoallocate19456bytes)...旁问:19456小于33554432,为什么说allowedsizeexhausted?我也试过把它放在.h

php - PHP memory_limit是否为PHP预分配内存

我们网站上的一些页面达到了PHP内存限制,目前设置为128MB。当请求将内存限制提高到256MB时,托管公司的工程师告诉我们:在我们的服务器上“平均请求需要不到64MB的RAM”和“将内存限制移动到256MB实质上创建了192M的内存平均分配,大多数请求都不会使用它”memory_limit数量实际上是预先分配的,并且192MB将被浪费用于我们的大部分请求,这是否正确?谢谢! 最佳答案 发件人:http://php.net/manual/en/ini.core.php#ini.memory-limitThissetsthemaxim

php - 为什么 debug_backtrace() 使用这么多内存?

当尝试跟踪PHP中的一些内存问题时,我注意到我在日志记录代码中调用的debug_backtrace()似乎占用了大量内存。在大多数情况下,以下代码会打印类似0.02MB的内容。但在一种情况下,它会打印171.85MB!$before=memory_get_usage();$backtrace=debug_backtrace(false);$after=memory_get_usage();echoround(($after-$before)/1024/1024,2)."MB";我的问题是,这是否意味着debug_backtrace实际上使用了那么多内存?或者可能发生了其他事情,例如垃圾

php - 如何使用 php ://memory file handle? 执行 cURL PUT 请求

我正在使用第3方PHP类来访问API,它具有以下代码:$fh=fopen('php://memory','w+');fwrite($fh,$xml);rewind($fh);$ch=curl_init($req->to_url());curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_PUT,true);curl_setopt($ch,CURLOPT_INFILE,$fh);在最后一行,即这一行:curl_setopt($ch,CURLOPT_INFILE,$fh);我收到错误:Warning:cu

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 3 bytes) after ini_set

一开始,我已经看了this,this和this.我收到以下错误:Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate220bytes)我正在使用php5.4和sqlAnywhere11.这个问题的解决方案是根据this正在放ini_set('memory_set',-1);在我的php-file,但在这样做之后我得到另一个错误:Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate3bytes)编辑:我的代码是我希望有

php - "php --help"在 Ubuntu 上导致 "PHP memory exhausted"错误

PHPfatalerror:第0行未知中允许的262144字节的内存大小耗尽(试图分配523800字节)“php5--help”也会发生同样的事情我已经研究过这个并且读到我应该:1)增加php.ini中的内存限制-在php.ini的所有实例中都是128MB-应该足以运行phpclihelp2)提高脚本的内存效率——显然不适用于--help如果可以请帮忙? 最佳答案 检查PHPCLI的php.ini文件(/etc/php5/cli/php.ini)。确保memory_limit声明设置了单位:memory_limit=32M不是mem

php - 使用 php ://memory wrapper causes errors

我正在尝试通过添加一种方法来扩展Worx的PHP邮件程序类,该方法允许我使用字符串数据而不是文件路径来添加附件。我想到了这样的事情:publicfunctionaddAttachmentString($string,$name='',$encoding='base64',$type='application/octet-stream'){$path='php://memory/'.md5(microtime());$file=fopen($path,'w');fwrite($file,$string);fclose($file);$this->AddAttachment($path,$

php - 在 Symfony 文件对象中加载 'php://temp' 或 'php://memory' 文件

我的数据库中有一个blob资源。我想暂时将这个文件包装到SymfonyFile对象中,因为我想使用特定的方法,如扩展猜测器,并应用symfony文件验证器。我想将这个临时文件存储到内存中,因为blob是小文件,我不想在每个请求中都在磁盘中创建一个文件。我试过这样做:$file=newFile('php://temp');但是symfony抛出一个错误,提示“文件“php://temp”不存在”。查看文件源,错误是由构造函数中进行的“is_file($path)”检查引起的,我可以使第二个参数中的false无效。但是,如果我这样做:$file=newFile('php://temp',f

PHP:对象数组和内存泄漏

我在从对象数组导出大量文件时遇到内存泄漏问题。简化的代码如下所示:classTest_Class{private$a=null;publicfunction__construct($a=null){$this->a=$a;}publicfunction__destruct(){unset($this->a);}}print'Memorybefore:'.memory_get_usage(1).'';//262144$a=[];for($i=0;$i';//129761280for($i=0;$i';//35389440在下一次迭代中,内存仍然结束。知道如何释放占用的内存吗?附言我尝试了

PHP 脚本越来越慢(文件阅读器)

我有一个脚本,当它与计时器相对应时,它会逐渐变慢。它非常简单,因为它所做的只是读取一行,检查它然后将其添加到数据库,然后继续下一行。这是逐渐变差的输出:Record:#1,001Memory:1,355,360kbtaking1.84sRecord:#1,001Memory:1,355,360kbtaking1.84sRecord:#2,002Memory:1,355,192kbtaking2.12sRecord:#3,003Memory:1,355,192kbtaking2.39sRecord:#4,004Memory:1,355,192kbtaking2.65sRecord:#5,