“getimagesize(): SSL 操作失败,代码为 1"仅在本地 Xampp 上
getimagesize() 在 Xampp(本地 PC)中失败,尽管它在实时环境中运行良好.
getimagesize() fails in Xampp (local PC), although it works fine in the live environment.
根据错误消息,问题似乎与证书配置有关.我根据这篇文章创建了自签名证书:https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/
Based on the error message, the issue seems related to certificate configuration. I have created self-signed certificates based on this article: https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/
这从 Apache 的错误日志中删除了 SSL 警告,但 getimage() 的问题仍然相同.
This removed the SSL warning from Apache's error log, but the issue with getimage() is still the same.
如果我使用 http
而不是 https
传递图像的 URL,则调用有效.
If I pass the image's URL with http
instead of https
, the call works.
<?php
$file = "http://webtest.test/content/uploads/img.jpg"; // Will work
$file = "https://webtest.test/content/uploads/img.jpg"; // Will not work
// ...
$img_info = getimagesize($file);
if(!$img_info) {
throw new Exception(__("The file type is not valid image (1)"));
}
?>
收到错误:
PHP Warning: getimagesize(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in \xampp\htdocs\index.php on line 3, referer: https://webtest.test/
PHP Warning: getimagesize(): Failed to enable crypto in \xampp\htdocs\index.php on line 3, referer: https://webtest.test/
PHP Warning: getimagesize(https://webtest.test/content/uploads/photos/2019/08/2f203cfc1e.jpg): failed to open stream: operation failed in \xampp\htdocs\index.php on line 3, referer: https://webtest.test/
Xampp/PHP 版本 7.3.6.加载的模块:
Xampp/PHP version 7.3.6. Loaded modules:
<代码>核心mod_win32 mpm_winnt http_core mod_so mod_access_compat mod_actions mod_alias中mod_allowmethods mod_asis mod_auth_basic mod_authn_core mod_authn_file模块mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi一样mod_dav_lock的mod_dir mod_env mod_headers中mod_include负责mod_info mod_isapi mod_log_config mod_cache_disk mod_mime mod_negotiation模块的mod_proxy的mod_proxy_ajp mod_rewrite的mod_setenvif mod_socache_shmcb mod_ssl的mod_status的mod_php7
问题可能来自哪里,如何解决?
Where could the problem be coming from, and how to fix it ?
推荐答案
如果你想从你自己的服务器图像目录中获取图像大小,你可以使用 base_path
而不是 url().'pathtoyourimage'
.
If you're trying to get image size from your own servers images dir, you can use base_path
instead of url().'pathtoyourimage'
.
相关文章