沃梦达 / 编程问答 / php问题 / 正文

“getimagesize(): SSL 操作失败,代码为 1"仅在本地 Xampp 上

quot;getimagesize(): SSL operation failed with code 1quot; on local Xampp only(“getimagesize(): SSL 操作失败,代码为 1仅在本地 Xampp 上)

本文介绍了“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'.

这篇关于“getimagesize(): SSL 操作失败,代码为 1"仅在本地 Xampp 上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:“getimagesize(): SSL 操作失败,代码为 1"仅在本地 Xampp 上

基础教程推荐