【问题标题】:PHP.ini File changes not taken affect (memory limit)PHP.ini 文件更改未生效(内存限制)
【发布时间】:2016-07-25 13:46:18
【问题描述】:

更新*已解决*并完全正常工作

按照此处讨论的所有指针来解决 .INI 和 PHP - MAILER 的类似错误

去掉';' extension=php_openssl.dll

我的 php.ini 文件似乎没有在下一行应用更改

memory_limit = 128M

我需要更改此设置,因为我遇到了另一个关于 PHP 邮件程序的错误 这是

Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

我当前内存大小的输出是 memory usage 350056 但是当我尝试在 php.ini 中更改它时,它对我当前的内存限制没有影响

我已经尝试了所有正常的解决方案来修复 php mailer 错误,例如

ini_set('memory_limit' '256m'); 在我的要求行上方,但仍然有相同的错误,我开始认为有些不对劲,因为我的 php.ini 似乎没有更新我当前的内存限制。

发生了什么?为什么我不能修复?请谢谢。

<?php

ini_set('display_errors',  true);
error_reporting(1);


require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = "ssl://smtp.gmail.com";        // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'xxx.com';                 // SMTP username
$mail->Password = 'xxx';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

$mail->setFrom('xxx.com', 'Mailer');
$mail->addAddress('xxx.com', 'xxx');     // Add a recipient
$mail->addAddress('xx.com');               // Name is optional
$mail->addReplyTo('xx.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('');         // Add attachments
$mail->addAttachment('', '');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Test';
$mail->Body    = 'body test <b>in bold!</b>';
$mail->AltBody = 'test';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

?>

c:\Program Files\php>php --ini PHP Warning: PHP Startup: Unable to load dynamic library 'ext\msql.dll' - The s pecified module could not be found. in Unknown on line 0 Configuration File (php.ini) Path: C:\Windows Loaded Configuration File: C:\Program Files\php\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none) c:\Program Files\php>

【问题讨论】:

  • 在更改 php.ini 后是否重新启动服务器?你也可以分享你的 php 代码,它给出了这个错误吗?
  • 您是否重新启动了网络服务器?你有正确的php.ini(使用phpinfo()输出你的服务器使用的位置)吗?
  • 我建议你分享代码,而不是试图通过增加内存限制来破解它......让我们修复代码,它可能是一个无限循环或什么......
  • 我同意@TheFlash。如果您在将内存加倍到256m 后仍遇到内存限制,则问题可能出在代码上,而不是限制上。
  • file.tar.gz 有多大?尝试不使用它。

标签: php mysql ini


【解决方案1】:

尝试首先检查您正在运行哪个 php,有时我们会不小心在 PATH 上留下另一个引用的 php。进入cmd运行:

php --ini

这将显示您正在处理的 php.ini 的路径。希望对你有帮助

更新 还要记住将这些更新为您需要的值:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

【讨论】:

  • c:\Program Files\php>php --ini PHP 警告:PHP 启动:无法加载动态库 'ext\msql.dll' - 找不到指定的模块。在第 0 行的未知配置文件 (php.ini) 路径:C:\Windows 加载的配置文件:C:\Program Files\php\php.ini 在以下位置扫描其他 .ini 文件:(无)解析的其他 .ini 文件: (无)c:\Program Files\php>
  • 我假设加载的 php.ini 是当前工作的 php.ini,因为这是它的路径
  • 指向的错误,我认为,它阻止了 apache 再次加载它。评论该行,您的更改应该会起作用。
  • 修复mysql.dllc:\Program Files\php&gt;php --ini Configuration File (php.ini) Path: C:\Windows Loaded Configuration File: C:\Program Files\php\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)987654323@后没有变化还是一样的错误
  • 您能否尝试更新另一个属性,例如:“display_errors”或“short_open_tags”,看看它们是否反映在您的 phpinfo() 中?
猜你喜欢
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 2013-10-12
相关资源
最近更新 更多