小编Vla*_*nea的帖子

为什么FileList对象不是数组?

文档:https://developer.mozilla.org/en-US/docs/Web/API/FileList

为什么是FileList对象而不是数组?它拥有的唯一属性是它.length唯一的方法.item(),即冗余(fileList[0] === fileList.item(0)).

javascript

53
推荐指数
4
解决办法
2万
查看次数

PHP mailparse.so错误 - 未定义的符号mbfl_convert_filter_flush

sudo pecl install mailparse 以..结束:

Build process completed successfully
Installing '/usr/lib64/php/5.5/modules/mailparse.so'
install ok: channel://pecl.php.net/mailparse-2.1.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=mailparse.so" to php.ini
Run Code Online (Sandbox Code Playgroud)

添加extension=mailparse.soDynamic Extensions部分后php.ini,运行php打印:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mailparse.so' - /usr/lib64/php/5.5/modules/mailparse.so: undefined symbol: mbfl_convert_filter_flush in Unknown on line 0

php pecl

9
推荐指数
2
解决办法
5905
查看次数

bash 运行命令而不因错误退出并告诉我它的退出代码

我想从 bash 脚本运行一个可能失败的命令,将其退出代码存储在变量中,然后运行后续命令,而不管该退出代码如何。

我试图避免的例子:

使用set

set +e  # disable exit on error (it was explicitly enabled earlier)
docker exec $CONTAINER_NAME npm test
test_exit_code=$?  # remember exit code of previous command
set -e  # enable exit on error
echo "copying unit test result file to host"
docker cp $CONTAINER_NAME:/home/test/test-results.xml .
exit $test_exit_code
Run Code Online (Sandbox Code Playgroud)

使用if

if docker exec $CONTAINER_NAME npm test ; then
    test_exit_code=$?
else
    test_exit_code=$?
fi
echo "copying unit test result file to host"
docker cp $CONTAINER_NAME:/home/test/test-results.xml . …
Run Code Online (Sandbox Code Playgroud)

bash shell

7
推荐指数
1
解决办法
5716
查看次数

如何使用CryptoJS获取BLOB的正确SHA1哈希?

CryptoJS v3.1.2,sha1.js汇总

在JS中,我想在将blob发送到服务器之前计算它的SHA1.在服务器上,我想计算结果文件的SHA1,并将其与从JS收到的SHA1进行比较.问题是CryptoJS.SHA1()生成的哈希是不正确的(总是9844f81e1408f6ecb932137d33bed7cfdcf518a3)

JS代码:

function uploadFileslice (slice) { // slice is a blob
    var fileReader = new FileReader()
    fileReader.onload = function(event){
        var arrayBuffer = event.target.result
        var wordArray = CryptoJS.lib.WordArray.create(arrayBuffer)
        var sha1crc = CryptoJS.SHA1(wordArray).toString(CryptoJS.enc.Hex)
        //etc
        requestParams.append('fileslice', slice)
        requestParams.append('sha1crc', sha1crc)
        //etc
    }
    fileReader.readAsArrayBuffer(slice)
}
Run Code Online (Sandbox Code Playgroud)

PHP代码:

$file_crc = sha1_file($_FILES['fileslice']['tmp_name']);
if ($_REQUEST['sha1crc'] !== $file_crc) {
    echo "Invalid CRC: {$_REQUEST['sha1crc']} (expected $file_crc)";
    return;
}
Run Code Online (Sandbox Code Playgroud)

输出:

CRC无效:9844f81e1408f6ecb932137d33bed7cfdcf518a3(预计3ebe2cd2d8fd8d8f977b6d715f0b1adf5b08b407

我希望像myHash = CryptoJS.SHA1(blob)...

sha1 blob cryptojs

6
推荐指数
1
解决办法
6170
查看次数

Apache 2.4 如何仅对特定主机要求有效用户

如果主机是 dev.example.com 或 test.example.com,我想告诉 Apache 2.4.9 要求有效用户。这不起作用:

AuthType Basic
AuthName "Speak, friend, and enter."
AuthBasicProvider file
AuthUserFile /sites/example/conf/.htpasswd
AuthGroupFile /dev/null
SetEnvIfNoCase Host ^dev\.example\.com$ env_is_protected
SetEnvIfNoCase Host ^test\.example\.com$ env_is_protected
Require valid-user
Require not env env_is_protected
Run Code Online (Sandbox Code Playgroud)

它会导致服务器错误;显然与文档相反not env是无效

在以下示例中,前五行始终与第一个示例中的相同。

这不起作用:

SetEnvIfNoCase Host ^dev\.example\.com$ env_is_protected
SetEnvIfNoCase Host ^test\.example\.com$ env_is_protected
<RequireAny>
    Require valid-user
    <RequireNone>
        Require env env_is_protected
    </RequireNone>
</RequireAny>
Run Code Online (Sandbox Code Playgroud)

它会导致服务器错误。该文档解释

因为否定授权指令无法返回成功的结果,所以它们不能显着影响 <RequireAny> 指令的结果。(在它们失败并且所有其他指令返回中性值的情况下,它们最多可能导致指令失败。)因此,在 <RequireAny> 指令中不允许使用否定授权指令。

这不起作用:

SetEnv env_is_unprotected 1
SetEnvIfNoCase Host ^dev\.example\.com$ !env_is_unprotected
SetEnvIfNoCase Host ^test\.example\.com$ !env_is_unprotected …
Run Code Online (Sandbox Code Playgroud)

apache .htaccess server-configuration httpd.conf basic-authentication

4
推荐指数
1
解决办法
5469
查看次数

是什么导致Apache“请求正文读取超时”错误?

服务器是Apache/2.2.22 (Debian),浏览器是Firefox 30.0,但这是一个普遍的问题。它在中引用这样的行/var/log/apache2/error.log

[Fri Jun 20 17:42:16 2014] [info] [client 67.174.61.70] Request body read timeout
Run Code Online (Sandbox Code Playgroud)

apache

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