我将我的phar添加到cache_list指令中,php.ini并且缓存工作得很好.几天后我更新了phar,现在我收到以下错误:
Warning: Phar::webPhar(phar:///usr/share/app/app.phar/www.php): failed to open
stream: phar error: internal corruption of phar "/usr/share/app/app.phar"
(crc32 mismatch on file "www.php") in /usr/share/app/app.phar on line 8
Run Code Online (Sandbox Code Playgroud)
如果我注释掉该cache_list指令,那么phar工作并加载正常,但现在我无法再缓存它.这让我觉得PHP正在查看crc32旧文件.
我试过重启apache我不知道如何"刷新"缓存或者甚至是问题.
我想将文件上传到具有特定 URL 的远程服务器上的 PHP 表单。上传表单是文件上传表单 ( Multipart/form-data),我的脚本应该采用本地文件,并将其发送到该表单。
文件有点大,但表格文件大小限制为1GB,这没问题。但更紧迫的是,由于某些情况,我必须将文件作为流发送!
这意味着逐行读取文件,然后以某种方式上传它,而无需创建临时文件以通过CURLOPTS_POSTFILDS.
简而言之:
CURLOPTS_READFUNCTION(我认为)逐行获取文件的内容POST我已经尝试了很多方法来做到这一点,但我都失败了。我对cURL,我已经尝试了来自其他 StackOverflow 问题和其他论坛的大量信息,但无济于事。
我得出的结论是这可能是不可能的,但正如我所说,我对自己在做什么一无所知,所以我需要一些更有经验的人提供一些信息或指导。到目前为止,我认为CURLOPT_INFILE并且CURLOPT_READFUNCTION只使用PUT方法,但我必须使用POST.
抱歉问了这么长的问题,我希望它是有道理的。并提前感谢您提供任何帮助或信息。
这是建议的一些代码:
$fh = fopen('php://memory','rw');
fwrite( $fh, $content); //maybe write the contents to memory here?
rewind($fh);
$options = array(
CURLOPT_RETURNTRANSFER => true
,CURLOPT_SSL_VERIFYPEER => false
,CURLOPT_SSL_VERIFYHOST => 1
,CURLOPT_FOLLOWLOCATION => 0
,CURLOPT_HTTPHEADER => array(
'Content-type: multipart/form-data'
)
,CURLOPT_INFILE => $fh //I want to read the …Run Code Online (Sandbox Code Playgroud) 为了防止误解:我的所有代码行都很好,并且它们正常工作.我只是在我的错误参数中date()显示秒数date('H:s'),它应该显示分钟数date('H:i').(感谢chumkiu提示.)
我想在00h10获取即将到来的一天的时间戳.
我以为我可以使用这个strtotime()功能,例如
$timestamp = strtotime('tomorrow 00:10');
Run Code Online (Sandbox Code Playgroud)
但是当我检查
$mydate = date('Y-m-d H:s', $timestamp);
var_dump($mydate);
Run Code Online (Sandbox Code Playgroud)
输出是
string(16) "2013-10-03 00:00"
Run Code Online (Sandbox Code Playgroud)
文档中strtotime()有很多例子如何获得不同的时间
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
Run Code Online (Sandbox Code Playgroud)
但他们都没有接近我的问题.
有趣的是:我能做到这一点
$time_h = strtotime('tomorrow +10 hours');
$time_m = strtotime('tomorrow +10 minutes');
Run Code Online (Sandbox Code Playgroud)
而$time_h返回想要的结果( …
我写了一个小代码,从屏幕顶部滑下来的图像.我有一个暂停按钮来清除超时.但是我无法阻止JS动画并从停止的同一个地方继续.
Code :
$.fn.pSlide = function(options) {
var icount = 0,interval;
var isPaused = false;
documentHeight = $('.image-container').height(),
documentWidth = $('.image-container').width(),
imageHeight = 250;
imageWidth = 250;
defaults = {
minSize : 5,
maxSize : 15,
newOn : 8000, //controls duration of each element
},
options = $.extend({}, defaults, options);
$('#control-btn').click(function() {
window.clearInterval(interval);
});
interval = window.setInterval(function() {
if(!isPaused) {
var $elm = $('.image-container img').eq(icount);
var startPositionLeft = Math.random() * documentWidth - imageWidth ,
startOpacity = 0.5 + Math.random(), …Run Code Online (Sandbox Code Playgroud) 我正在使用Pagerfanta和Doctrine Adapters与Symfony2和Silex.随着我的数据库变得越来越大,我发现管理员统计信息页面上的大量负载会显示带有分页的大数据.我检查了分析器,看到了令人难以置信的低效查询:
SELECT DISTINCT id16
FROM (
SELECT f0_.username AS username0, ..., f0_.added_on AS added_on20
FROM fos_user f0_ ORDER BY f0_.id DESC
) dctrn_result
LIMIT 50 OFFSET 0;
SELECT COUNT(*) AS dctrn_count
FROM (
SELECT f0_.username AS username0, ..., f0_.added_on AS added_on20
FROM fos_user f0_ ORDER BY f0_.id DESC
) dctrn_result
LIMIT 50 OFFSET 0;`
Run Code Online (Sandbox Code Playgroud)
通过创建DoctrineORMAdapter类的固定版本,可以轻松修复第一个查询.生成COUNT()查询的代码更复杂,所以我决定询问是否有任何解决方案.
那么有没有办法让Pagerfanta不运行嵌套查询?
我想使用带有多个导航的Bootstrap ScrollSpy,我的主导航和垂直子挡.
我试过多次这样的事情:
<body data-spy="scroll" data-target="#main-nav #subnav"><body data-spy="scroll" data-target="#main-nav, #subnav">$('body').scrollspy({target: "#main-nav"});$('body').scrollspy({target: "#subnav"});$('body').scrollspy({target: "#main-nav"}, {target: "#subnav"});<body data-spy="scroll" data-target="#main-nav"><div data-spy="scroll" data-target="#subnav">没有什么工作得好......
我该如何实现这一目标?
谢谢!
在以下代码中:
$a = 0 or 1;
$b = 0 || 1;
echo "$a, $b"; // 0, 1
Run Code Online (Sandbox Code Playgroud)
为什么$a等于零,我认为or并且||在PHP中可以互换?该or声明究竟发生了什么让它回归0?
我会假设这两个结果都会1让它回响1, 1.
我正在尝试启用ssh连接来suse linux.我有sshd服务运行:
peeyush@linux-pohb:~/gccgo.work> systemctl status sshd.service
sshd.service - OpenSSH Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Thu 2015-03-19 18:36:05 IST; 3h 50min ago
Process: 5702 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
Main PID: 6035 (sshd)
CGroup: /system.slice/sshd.service
??6035 /usr/sbin/sshd -D
Mar 19 18:36:01 linux-pohb sshd-gen-keys-start[5702]: Checking for missing se...
Mar 19 18:36:05 linux-pohb sshd-gen-keys-start[5702]: ssh-keygen: generating ...
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on 0.0.0.0 port 22.
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on :: port 22.
Hint: Some …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个TextType字段的Symfony表单.如果某个检查评估为false,我不想显示input字段但输出字段的静态内容,hidden而是将表单字段包含为字段.我怎样才能做到这一点?
我的应用程序需要使用名为Shibboleth的SSO服务.所以我使用了现有的shibboleth-bundle.事情发生了变化,我们需要为用户添加表单身份验证方法.所以我决定用新的Guard组件实现Shibboleth身份验证.(见ShibbolethGuardBundle)
我在开发过程中发现了一个问题.Symfony ShibbolethAuthenticator在第一个请求时调用方法,创建一个令牌,并且永远不会ShibbolethAuthenticator在以后的请求中调用任何方法.这意味着,如果Shibboleth会话结束,用户仍然使用Symfony会话进行身份验证.
如果要实现令牌身份验证,这也是一个问题.用户只需要在第一次请求时发送令牌.会话对任何其他请求进行身份验证.
其他SSO服务也存在此问题.如果您在Facebook注销,您希望在任何使用Facebook身份验证的网站上注销.但是如果你用Guard实现了这个,你在facebook注销后仍然有一个有效的会话.
我通过检查是否UserProvider在每个请求中设置了shibboleth头变量找到了一个快速的解决方案.如果它们丢失,则会调用异常并ExceptionListener重定向到登录页面.
我认为这不是一个好的解决方案,因为ShibbolethGuardBundle应该处理这个问题.有谁知道如何以更合适的方式解决这个问题?
php ×6
symfony ×3
jquery ×2
apache ×1
curl ×1
date ×1
doctrine-orm ×1
file-upload ×1
forms ×1
hidden-field ×1
javascript ×1
mysql ×1
opensuse ×1
pagerfanta ×1
phar ×1
scrollspy ×1
session ×1
shibboleth ×1
sles ×1
ssh ×1
time ×1