小编Met*_*iel的帖子

覆盖每个虚拟主机的php_value

我想upload_max_filesize为我的虚拟主机设置一个独特的名称。我在每个虚拟主机中都有一些Web应用程序,因此不能在php.ini中全局更改值,因为我希望每个虚拟主机都具有自己的价值。因此,我尝试了以下方法:

<VirtualHost *:80>
 ServerName www.test.com
 ServerAlias test.com
 DocumentRoot /var/www/html/test/
 ErrorLog /var/log/httpd/test/error.log
 CustomLog /var/log/httpd/test/requests.log combined

 <Directory /var/www/html/test/>
  AllowOverride All
 </Directory>
 php_value upload_max_filesize 5M
</VirtualHost>
Alias /test /var/www/html/test/
Run Code Online (Sandbox Code Playgroud)

换句话说,我正在尝试使用来在virtualhost .conf中设置值php_value upload_max_filesize 5M。我读过我想为它设置一个特定的值AllowOverride,我也试图在这里设置它,但是这段代码不起作用。

我想将此设置保留在每个virtualhost部分下,我不希望使用.htaccess文件。有人可以启发我吗?在此先感谢您的帮助。

php apache overriding virtualhost

5
推荐指数
1
解决办法
2万
查看次数

`gsutil cp` 命令抛出“OSError:文件名、目录名或卷标语法不正确”

我按照 Google Cloud 说明执行了gsutil 安装指南,并且已将GCloud 组件更新到最新版本。我最近刚刚安装并配置了 GCloud 以使用我的凭据和项目。首先,我使用以下命令从Firestore导出我需要的单个集合:

gcloud firestore export gs://my-project-id.appspot.com --collection-ids=theCollectionINeed
Run Code Online (Sandbox Code Playgroud)

现在我看到这个导出在我的 Firebase 控制台存储部分作为一个文件夹。作为项目Owner,我想将此导出到我的本地系统。为此,我认为我需要使用gsutil才能复制它。阅读从您的存储桶下载对象的说明,我尝试使用以下命令,但出现此错误:

$ gsutil cp -r gs://m-project-id.appspot.com/2020-05-22T02:01:06_86154 .
Copying gs://lucky-level-dev-6ac34.appspot.com/2020-05-22T02:01:06_86154/2020-05-22T02:01:06_86154.overall_export_metadata...
OSError: The filename, directory name, or volume label syntax is incorrect.
Run Code Online (Sandbox Code Playgroud)

cmd在 Windows 10 环境中运行此命令。我希望能够将此文件夹从云下载到我的本地驱动器。

更新

之后,我尝试按照建议更改存储桶文件夹(对象前缀):

gsutil mv gs://my-project-id.appspot.com/2020-05-22T02:01:06_86154 gs://my-project-id.appspot.com/2020-06-23_someFolder
Run Code Online (Sandbox Code Playgroud)

但是现在再试一次会给我一个新的错误:

gsutil cp -r gs://my-project-id.appspot.com/2020-05-22_someFolder .
Copying gs://my-project-id.appspot.com/2020-05-22_someFolder/2020-05-22T02:01:06_86154.overall_export_metadata...
OSError: Invalid argument.9.0 B]
Run Code Online (Sandbox Code Playgroud)

当然我也需要更改文件名吗?

firebase gsutil gcloud google-cloud-firestore

5
推荐指数
1
解决办法
1523
查看次数

从 MongoDB Cloud 导出到本地 MongoDB(“$oid 对于存储无效。”错误)

我刚刚学习 MongoDB。有没有一种简单的方法可以从 MongoDB 导出/导入数据?

手头的任务很简单:使用MongoDB Cloud,从集合中复制文档(使用位于Atlas > Collection部分中的复制文档按钮),并能够将其导入到我的本地 MongoDB 数据库中。这样做,我得到了以下结果:

{
  "_id": {"$oid":"5e666e346e781e0b34864de4"},
  "created_at":{"$date":{"$numberLong":"1583771188026"}}
}
Run Code Online (Sandbox Code Playgroud)

尝试使用将其导入到我的本地 MongoDB 中db.my_collection.insert()会导致以下错误:

WriteResult({
        "nInserted" : 0,
        "writeError" : {
                "code" : 52,
                "errmsg" : "$oid is not valid for storage."
        }
})
Run Code Online (Sandbox Code Playgroud)

所以我已经完成了研究,并且发现了 MongoDB 如何在默认情况下或在Canonical Mode下以 Extended JSON v2.0 (Relaxed mode) 创建输出数据。

那么文档确实告诉我 MongoDB 中用于导出的格式本身不支持直接导入吗?我做错了什么?

如何直接导入正在导出的内容?

import json mongodb bson mongodb-atlas

5
推荐指数
1
解决办法
2588
查看次数

无法在 MySQL 8 中使用 DBeaver 7 创建新列、约束、索引

我正在尝试创建新表并向现有 MySQL 8 数据库添加新列。我想使用 DBeaver GUI 来完成此任务。使用MySQL 8+驱动程序创建新连接,我可以使用 root 用户连接到我的本地主机。我能够加载数据库表并探索它们的列、约束、属性等。但我无法创建新列...我看不到任何类似于New column、New Table等的选项。例如,在 MySQL Workbench 中,只需右键单击网格即可添加新列。

我已经右键单击了所有地方,并且阅读了所有菜单,但我无法找到使用 GUI 插入新内容的方法。看起来好像我处于只读连接中。但是,我在创建连接时没有检查安全性:只读连接(双重检查)。

在表属性下,如果我右键单击并选择生成 SQL > INSERT,我无法在结果窗口中键入任何内容...测试我的连接,我得到以下结果:

Connected (30 ms)
Server: 
MySQL 8.0.21
Driver: 
MySQL Connector/J mysql-connector-java-8.0.17 (Revision: 16a712ddb3f826a1933ab42b0039f7fb9eebc6ec)
Run Code Online (Sandbox Code Playgroud)

最后,在表属性中,如果我更改表描述,请单击“保存”按钮,然后单击“保留”按钮,我就可以更新描述。那我做错了什么?

我肯定错过了一些明显的东西。提前致谢。

windows user-interface dbeaver mysql-8.0

5
推荐指数
1
解决办法
1万
查看次数

检测列表框是否为空(没有选项)

我从一个我发现在Internet上有用的例子中得到了这段代码.它使用两个列表框,一个在左边,另一个在右边,它将左边的一个元素拼凑到右边,反之亦然.这是带有选项的HTML选项:

<select id="SelectLeft" multiple="multiple">
 <option value="1">Stack Overflow</option>
 <option value="2">Server Fault</option>
 <option value="3">Ask Ubuntu</option>
 <option value="4">Super User</option>
</select>
<button id="MoveRight"> >> </button>
<button id="MoveLeft"> << </button>
<select id="SelectRight" multiple="multiple"></select>
Run Code Online (Sandbox Code Playgroud)

这是在列表框之间移动元素的Javascript:

$(function() {
 $("#MoveRight,#MoveLeft").click(function(event) {
  var id = $(event.target).attr("id");
  var selectFrom = id == "MoveRight" ? "#SelectLeft" : "#SelectRight";
  var moveTo = id == "MoveRight" ? "#SelectRight" : "#SelectLeft";
  var selectedItems = $(selectFrom + " :selected").toArray();
  $(moveTo).append(selectedItems);
   selectedItems.remove;
  });
});
Run Code Online (Sandbox Code Playgroud)

如您所见,代码只是根据按下的按钮确定必须附加和删除哪些选定元素.我需要检测右边的列表框("SelectRight")没有选项.例如,在开始时没有按下任何内容或用户删除所有项目.我需要一种方法来检测这个,所以我可以触发我的验证过程.

我一直在谷歌搜索没有运气!我希望你能帮助我,谢谢=)

编辑:谢谢你的回答,我发现这$("#SelectRight").is(":empty")似乎是我需要的.然而,这不是我需要的行为......每次清空列表框时我都需要启动一个事件.例如,如果我这样做:

if($("#SelectRight").is(":empty")) alert("It works?? =O");
Run Code Online (Sandbox Code Playgroud)

此警报仅在页面加载时显示,但如果我添加然后删除元素,则不会再触发.所以我想我需要添加一个事件处理程序或者什么...也许是一个JQuery .on() …

html javascript jquery

2
推荐指数
1
解决办法
3179
查看次数

如何在 MySQL Workbench UI 中使用 NOW() 函数获取新记录的日期

简单的问题:需要什么技巧才能NOW()直接在MySQL Workbench (v.8) UI、结果网格面板中使用该功能,以便当按下“应用”按钮并提交更改时,结果字段具有这种日期2020-06-27 00:03:57

\n

MySQL Workbench 8 结果网格

\n

如果我只是NOW()在单元格中键入,则会出现以下错误:

\n
\n

错误 1292:1292:日期时间值不正确:第 1 行的列“created_at”的“NOW()”

\n
\n

在我看来,它正在将其解释为字符串...\n一旦我用 MW v.6 完成了此操作,但我只是忘记了如何完成此操作,而且我找不到在哪里读到这是如何完成的...

\n

我也尝试过“NOW()”,\xc2\xb4NOW()\xc2\xb4STR_TO_DATE(NOW())我就是不记得它是如何完成的。(我知道我可以使用更新语句等,但我希望能够使用 UI 来完成此操作,只是为了方便那些快速测试......)

\n

提前致谢!

\n

windows user-interface mysql-workbench

2
推荐指数
1
解决办法
1487
查看次数