- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
和我之前的很多人一样,我正在编写一个 PHP 脚本来制作一些图像缩略图。该脚本已获得 WOMM(可在我的机器上运行)认证,但当我将其移动到我的主机(1&1 Basic)时,出现了一个问题:无法处理超过特定文件大小的图像。我已将所有操作移至文件系统,以确保这不是一些潜在的 POST
问题。这是相关代码:
function cropAndResizeImage( $imageLocation )
{
//
// Just to be certain
//
ini_set('display_errors','on');
error_reporting(E_ALL);
ini_set('memory_limit','128M');
ini_set('max_execution_time','300');
$image_info = getimagesize($imageLocation);
$image_width = $image_info[0];
$image_height = $image_info[1];
$image_type = $image_info[2];
switch ( $image_type )
{
// snip...
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($imageLocation);
break;
default:
break;
}
// snip...
}
利用我神秘的 println
调试能力,我已经能够确定 imagecreatefromjpeg
没有返回;事实上,脚本在到达它时完全停止。一些事实:
wget
在 <1 秒内返回 3MB 图像,在“适当小”的图像上显着更长(表示不处理大图像)。@
以抑制错误无效。这与脚本没有抛出错误这一事实非常吻合,它只是静静地终止此函数调用。如果我不得不猜测,可能有一些我不知道(或无法访问)的 GD 参数限制了 1&1 服务器上的输入文件大小——配置变量 guess 是因为它会立即 barfs ,并且不会出现(试探性地)对图像进行任何实际加载或计算。
有什么建议吗?感谢您的帮助。
更新(礼貌 @Darryl's 评论): 调用 phpinfo
表明 PHP 正在更新 max_execution_time
和 memory_limit
变量正确。这并不一定意味着正在分配这些资源,只是它们似乎按预期运行。
更新 2:根据 Google 的一些引用资料,我尝试优化 JPEG(质量从 3MB 降低到 200KB)但没有成功,所以这不是图像文件大小的问题。然后我尝试减少原始 3888x2592 图像的像素数,第一个成功的尺寸是 1400x2592(1401x 和 1402x 都导致半解析和错误指示“格式错误的 JPEG”,这没有多大意义,除非整个图像未加载)。通过进一步缩小到 1300x2592,我可以实例化我实际正在寻找的 400x300 缩略图;在 1400x2592 分辨率下,我用来处理该任务的 imagecreatetruecolor
调用以与 imagecreatefromjpeg
相同的方式静默失败。
至于这是为什么,我有点不确定。 1400 * 2592 == 3.5MB 没有什么特别的意义,但我不得不想象这是对 GD + PHP 将处理的像素数的限制。
最佳答案
请参阅this note关于 php 网站上的内存使用情况。
*“使用 imagecreatefromjpeg() 加载图像所需的内存是图像尺寸和图像位深度乘以开销的函数。
可以用这个公式计算:
Num bytes = Width * Height * Bytes per pixel * overhead fudge factor"*
关于php - imagecreatefromjpeg 正在静默终止脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/668770/
我对 JavaScript/jQuery 和 Web 开发有点陌生。我当前的项目是为网站建立一个小型聊天室。一切正常,但我有一个问题: 如何将数据从客户端传输到服务器并返回(例如通过 javascri
warn 4 与 print STDERR 4 有何不同? perl -e 'local *STDERR; warn 4' (输出仍然转到 STDERR ) perl -e 'local *STDER
所以在面对可怕的javax.faces.application.ViewExpiredException之后,我不得不在互联网上寻找合适的解决方案。幸运的是,这些解决方案随时可用,我继续采用了 Omn
我正在尝试使用 Spring Modules 项目中的声明性缓存。 它不起作用,即。似乎没有任何东西被缓存。 这是我的配置:
我正在实现以下教程:Speech To Text 我正在使用 AVAudioEngine 和 SFSpeechRecognizer 录制音频实现语音到文本。此处教程使用以下方法将语音引导至文本一个开始
我有一个文本(有多行),需要将其放入 wxPython TextCtrl 中。 问题是其中一些行包含无法打印的字符。 我的解决方案是使用 AppendText,并 try catch 有问题的行。 当
有没有办法直接从 Angular/客户端应用程序使用“用户名”和“密码”登录? 例如像这样的东西? Keycloak.init({username: 'guest', password: 'abc'}
我这样执行 GET 请求: http://www.smurf.com/path/?var=val 这显示在用户的 URL 中。我当然在几乎每个主要网站上都看到了这一点。 但我只是好奇是否有办法绕过它。
假设我有两个相互硬链接(hard link)的文件: -rw-rw-r-- 2 mparrott grp 5 Jul 28 09:38 bar -rw-rw-r-- 2 mparrott grp 5
我想在 android 4+ 中以编程方式(直接)添加日历事件。这可以在模拟器上测试吗?我没有安卓手机。一些示例代码将不胜感激。我阅读了 android 开发人员的日历提供程序,但我很困惑。如何将事件
我正在向我的工作簿添加一个新工作表 Application.ScreenUpdating = False SheetExists = False For Each WS In Worksheets
我正在 Excel 中的 VBA 中进行一些网页解析;我是 MSHTML 来下载和解析网页。但是,在某些站点上,会弹出一个对话框。它工作正常;但是,我想知道是否有办法禁用它或可能绕过它。感谢您的时间。
有没有办法使用谷歌的 firebase 发送一个无声的 APNS? 似乎如果应用程序在后台,它总是会向用户显示通知。 谢谢? 最佳答案 您可以使用 FCM 服务器 API 发送静默 APNS 消息 h
我有一个 Powershell 脚本来放松机器上的执行策略,本质上是运行: Set-ExecutionPolicy Unrestricted -Force 由于 ExecutionPolicy 在机器
我有一个 Powershell 脚本,用于将我们的生产数据库复制到我们的测试环境以及相关的清理事件。我想清理为用户输出到控制台的信息,但在清理从 Az.sql 命令中收到的错误消息时遇到了问题。 我的
这是我当前的 Facebook 应用程序登录流程(有关解释,请参阅 this answer)。 logout() 和 login() 是在用户注销或登录时呈现页面的虚拟函数。 window.fbAsy
我有一个 React Native 应用程序,我正在尝试将静默的 iOS 推送通知发送到 JavaScript 中的处理程序。 我看到的行为是 AppDelegate 中的 didReceiveRem
我正在使用数据通知来更新我的应用程序状态,它在 Android 上运行完美,但我无法在 IOS 上接收到任何数据消息,甚至没有触发 onMessage 监听器。 我正在使用这些: firebase_c
我知道较新的 GCC 版本引入了可能错误的字符串操作“stringop-truncation”的警告 这是我可以轻松触发此警告的示例代码: $ cat strncpy-warning.cxx #inc
标题基本上描述了它。 我检查过的事情: 验证了远程 Powershell session 中的用户名(以确保事情正在以我期望的权限执行) 检查了所描述文件的权限。预期用户拥有文件的完全控制权 删除了
我是一名优秀的程序员,十分优秀!