我们在用服务器配置网站的时候,对于PHP软件的参数配置中upload_max_filesize设置还是比较讲究的。如果配置的不好,可能负载在线人数就支持不多,如果配置的好可以负载就更高一些。

upload_max_filesize 是 PHP 配置项,用于设置允许上传的单个文件的最大大小。下面是一些设置 upload_max_filesize 的技巧:

1、参数值

upload_max_filesize 的值可以使用字节(例如 100M 表示 100 兆字节)或其他有效的单位(如 K、KB、M、MB、G、GB)。确保正确理解和使用适当的单位。

编辑 php.ini 文件:在服务器上找到 php.ini 文件,并使用文本编辑器打开。搜索 upload_max_filesize 配置项,在等号后面设置所需的值。例如:

upload_max_filesize = 100M

2、设置合适的文件大小限制

根据实际需求和应用场景,设置适当的文件大小限制。考虑上传文件的类型和服务器资源的可用性,以避免出现过大的文件导致服务不稳定或资源耗尽的问题。

3、重启服务器

保存 php.ini 文件并重新启动服务器,使新的配置生效。这样,PHP 将按照新的 upload_max_filesize 值处理文件上传请求。

4、处理其他相关配置项

上传文件大小还受到其他相关 PHP 配置项的影响,如 post_max_size 和 memory_limit。确保将这些配置项与 upload_max_filesize 协调一致,以确保完整的文件上传过程。

5、考虑安全性

在设置 upload_max_filesize 时,要谨慎考虑安全性问题。确保合理限制上传文件的大小,以防止恶意用户滥用和服务器资源受到过大文件的影响。

总结,一般我们在用成熟的一键安装面板和软件包的时候,会自动根据我们的服务器配置设置初始的值,如果我们后续调整过服务器配置那就需要自己手工再调整PHP的一些参数值。

Ubuntu是站长个人常用的系统镜像,当然有些在运维的时候还是需要用到一些命令操作的。这里整理常用的20个Ubuntu常用命令。

1、ls:列出当前目录下的文件和文件夹。

示例:ls

2、cd:切换到指定目录。

示例:cd /home/user/Documents

3、pwd:显示当前工作目录的路径。

示例:pwd

4、mkdir:创建一个新的目录。

示例:mkdir new_directory

5、rm:删除文件或目录。

示例:rm file.txt 或 rm -r directory

6、cp:复制文件或目录。

示例:cp file.txt new_file.txt 或 cp -r directory new_directory

7、mv:移动文件或目录,可以同时用于重命名文件或目录。

示例:mv file.txt new_location/file.txt 或 mv file.txt new_name.txt

8、cat:显示文件内容。

示例:cat file.txt

9、grep:在文件中搜索指定的字符串。

示例:grep “search_string” file.txt

10、chmod:修改文件或目录的权限。

示例:chmod 755 file.txt

11、chown:修改文件或目录的所有者。

示例:chown user:group file.txt

12、chgrp:修改文件或目录的所属组。

示例:chgrp group file.txt

13、apt-get:用于安装、更新和卸载软件包。

示例:sudo apt-get install package_name

14、dpkg:用于管理Debian软件包。

示例:sudo dpkg -i package.deb

15、wget:从网络上下载文件。

示例:wget http://example.com/file.txt

16、tar:打包和解压缩文件。

示例:tar -cvf archive.tar file1 file2 或 tar -xvf archive.tar

17、ssh:通过SSH协议远程登录到另一台计算机。

示例:ssh username@remote_host

18、top:显示系统中运行的进程和资源占用情况。

示例:top

19、ifconfig:显示和配置网络接口信息。

示例:ifconfig

20、ping:测试与另一台计算机之间的连通性。

示例:ping 192.168.0.1

以下是一个示例的 Windows 快速删除垃圾文件的批处理脚本:

@echo off
echo 删除临时文件...
del /f /q %temp%\*.*
echo 删除回收站中的文件...
rd /s /q %systemdrive%\$Recycle.Bin
echo 清空浏览器缓存...
echo 请根据您使用的浏览器选择对应的命令清空缓存:
echo Google Chrome:
echo rd /s /q "%userprofile%\AppData\Local\Google\Chrome\User Data\Default\Cache"
echo Mozilla Firefox:
echo rd /s /q "%userprofile%\AppData\Local\Mozilla\Firefox\Profiles\*.default\cache"
echo Internet Explorer:
echo RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
pause

请注意,在运行此脚本之前,建议先备份重要文件,以防意外删除。 该脚本将删除当前用户的临时文件夹中的所有文件、清空回收站中的文件,并提供了清空主要浏览器缓存的示例命令(Chrome、Firefox、Internet Explorer)供您选择使用。最后,脚本会在执行完毕后暂停,以便您检查执行结果。

OpenSSL 是一个用于安全通信的开放源代码项目,可以用来检查证书。下面是使用 OpenSSL 检查证书的步骤

1.下载并安装 OpenSSL

在你的计算机上下载并安装 OpenSSL 工具。可从官网https://www.openssl.org/source/下载。下载后按照官网提供的安装方法进行安装。

2.导入证书

将证书导入 OpenSSL,可以通过以下命令将证书导入 OpenSSL 中:

openssl x509 -in cert_file.pem -text

复制

上述命令指出打印 cert_file.pem 证书文件的详细信息,其中包括证书持有人、颁发机构、有效期等。

3.验证证书

可以使用 OpenSSL 验证证书的有效性,可以使用以下命令:

openssl verify cert_file.pem

如果证书是有效的,命令将返回以下信息:

cert_file.pem: OK

如果证书无效,命令将返回以下信息:

cert_file.pem: C = US, O = Example Company, CN = example.com
error 18 at 0 depth lookup:self signed certificate
error cert_file.pem:self signed certificate

4.检查证书链

可以检查整个证书链的有效性,可以使用以下命令:

openssl verify -CAfile ca_file.pem cert_file.pem

上述命令用于检查 cert_file.pem 证书文件是否在 ca_file.pem 证书链中,同时也可以检查证书链的有效性。如果证书链有效,则命令将返回以下信息:

cert_file.pem: OK

如果证书链无效,则命令将返回以下信息:

cert_file.pem: C=US,O=Example Company,CN=example.com
error 20 at 0 depth lookup:unable to get local issuer certificate
error cert_file.pem: verification failed

复制

上述异常错误信息也可能有多种,可以根据具体的错误类型进行诊断。

5.其他操作

OpenSSL 还支持其他证书查询与操作,如通过 OCSP 验证证书状态等。

综上所述,OpenSSL 提供了丰富的功能来检查证书,可以通过简单的命令行操作来实现。同时,需要注意正确安装 OpenSSL 后才能进行上述的检查操作。

SQLite 仅有四个基元数据类型:INTEGER、REAL、TEXT 和 BLOB。 将数据库值返回为 object 的 API 只返回这四种类型之一。 Microsoft.Data.Sqlite 支持其他 .NET 类型,但最终强制这些值在这些类型和四种基元类型中的一种类型之间进行转换。

.NETSQLite备注
BooleanINTEGER0 或 1
ByteINTEGER
Byte[]BLOB
CharTEXTUTF-8
DateOnlyTEXTyyyy-MM-dd
DateTimeTEXTyyyy-MM-dd HH:mm:ss.FFFFFFF
DateTimeOffsetTEXTyyyy-MM-dd HH:mm:ss.FFFFFFFzzz
十进制TEXT0.0########################### 格式。 REAL 将有损。
Doublereal
GUIDTEXT00000000-0000-0000-0000-000000000000
Int16INTEGER
Int32INTEGER
Int64INTEGER
SByteINTEGER
Singlereal
StringTEXTUTF-8
TimeOnlyTEXTHH:mm:ss.fffffff
TimeSpanTEXTd.hh:mm:ss.fffffff
UInt16INTEGER
UInt32INTEGER
UInt64INTEGER大值溢出

替代类型

某些 .NET 类型可以从替代 SQLite 类型中读取。 还可以将参数配置为使用这些替代类型。

.NETSQLite备注
CharINTEGERUTF-16
DateOnlyreal儒略日值
DateTimereal儒略日值
DateTimeOffsetreal儒略日值
GUIDBLOB
TimeOnlyreal以天为单位
TimeSpanreal以天为单位

例如,下面的查询从结果集的 REAL 列中读取 TimeSpan 值。

command.CommandText =
@"
    SELECT name, julianday(finished) - julianday(started) AS length
    FROM task
    WHERE finished IS NOT NULL
";
using (var reader = command.ExecuteReader())
{
    while (reader.Read())
    {
        var name = reader.GetString(0);
        var length = reader.GetTimeSpan(1);

        Console.WriteLine($"'{name}' took {length}.");
    }
}

错误信息 “/lib64/libm.so.6: version `GLIBC_2.27′ not found” 表示程序运行需要 GLIBC 2.27 版本的 libc 库,而系统中安装的 libc 库的版本较低,因此无法找到所需的库。

要解决这个问题,一种可行的方法是更新 libc 库的版本。可以按照以下步骤进行操作:

  1. 检查系统中 libc 库的版本。可以使用以下命令查看:
ldd --version

该命令会返回系统中的 libc 库版本以及其他相关信息。

  1. 下载 GLIBC 2.27 版本的源码包。可以从 GLIBC 的官方网站下载(http://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gz)。
  2. 解压源码包并进入源码目录。
  3. 编译并安装 GLIBC 2.27。可以使用以下命令:
./configure --prefix=/usr/local/glibc-2.27
make
sudo make install

请注意,安装的目录可以根据实际情况进行修改。

  1. 将新的 libc 库路径添加到 LD_LIBRARY_PATH 环境变量中。可以使用以下命令:
export LD_LIBRARY_PATH=/usr/local/glibc-2.27/lib:$LD_LIBRARY_PATH
  1. 重新运行程序,查看是否仍然出现错误。

请注意,更新系统的 libc 库版本可能会影响到其他程序的运行,因此在执行此操作之前,请仔细考虑潜在的影响,并在操作之前备份重要数据。

Win10/11 打开 HEIC 图片和启用 Windows 照片查看器

从 iOS11 开始,iPhone 的默认照片就改为了 HEIC 格式。HEIC 相比 JPG 和 PNG 来说,在画质差不多的情况下,HEIC 的文件体积要更小一些。

目前 Windows 系统对 HEIC 的图片支持的还不太好,如果使用 Win10/11 的照片应用打开 HEIC,需要在应用商店安装一个 HEIF and HEVC Media Extensions 才能打开 HEIC 图片,这个 HEIF and HEVC Media Extensions 还需要花 8 元购买。

下面简单写一下在 Win10/11 打开 HEIC 图片的方式,因为我用的这个软件需要用到 Windows 照片查看器,所以这里也包含启用 Windows 照片查看器。

启用 Windows 照片查看器

Windows 照片查看器是 Windows 上自带的一个图片浏览工具,它相比 Windows 照片应用来说,速度要更快。

从 Win10 开始,默认的照片浏览工具改成了照片应用,在菜单的打开方式里也没有 Windows 照片查看器。

下面通过更改注册表的方式启用 Windows 查看器:

打开记事本或其他文本编辑器,粘贴下面的代码:

Windows Registry Editor Version 5.00
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.jpg]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.jpeg]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.gif]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.png]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.bmp]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.tiff]
 @="PhotoViewer.FileAssoc.Tiff"
 ; Change Extension's File Type
 [HKEY_CURRENT_USER\Software\Classes\.ico]
 @="PhotoViewer.FileAssoc.Tiff"

保存的时候后缀名需要使用 .reg ,如果后缀名没有错的话,文件图标应该是:

现在打开图片的时候就可以看到 Windows 照片查看器了。

打开 HEIC 图片

这里会用到一个 CopyTrans HEIC,访问 https://www.copytrans.net/copytransheic/ ,选择 download 下载,软件对于个人和家庭是免费的。

安装软件也是直接一路 next ,也不会有捆绑软件之类的,遇到用户协议就选择 I accept the agreement 同意。

安装完成后就可以打开 HEIC 图片了,打开的时候需要选择使用 Windows 照片查看器打开,照片应用虽然也能打开,但清晰度会有些问题。

把 HEIC 转换为 JPG

上面安装的 CopyTrans HEIC 也能把 HEIC 转换为 JPG,只需要右击图片文件,选择 Convert to JPEG with CopyTrans ,转换完成后会在同一目录生成一个同名的 JPG 图片,转换后的图片也包含完整的 EXIF 信息。

在大部分 Linux 系统中,cat 命令是通过 coreutils 包默认安装的。但是如果您在 Alpine Linux 中找不到 cat 命令,您可以按照以下步骤安装 Coreutils 包:

1. 使用 apk 命令更新索引:

apk update   

2. 安装 Coreutils 包:

apk add coreutils   

安装完成后,您就可以使用 cat 命令了。

注意:在 Alpine Linux 中,cat 命令位于 coreutils 包中,该包提供了其他常见的 Linux 命令,如 chgrp、chmod、chown、cp、date、dd、df等等,因此安装 coreutils 包是非常重要的。