我开始鄙视PHP-FPM了!处理错误是可怕的!
我得到了一个NetworkError: 502 Bad Gateway,虽然我知道错误发生在哪里,因为我手动逐行注释,直到我发现坏线,我不知道为什么这条线导致问题.
在你问什么是导致错误的行之前,这不是我的问题,我的问题是我无法让PHP告诉我错误是什么.它只是响应502错误.
这是我的配置
nginx网站
location ~ .+?\.php {
fastcgi_split_path_info ^(.+?\.php)/?(.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param LOG_PATH /var/www/sites/api/logs;
fastcgi_param ENVIRONMENT dev;
fastcgi_buffer_size 128k;
fastcgi_buffers 254 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
proxy_intercept_errors on;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
Run Code Online (Sandbox Code Playgroud)
php.ini中
[PHP]
engine = On
expose_php = Off
max_execution_time = 30
memory_limit = 128M
default_socket_timeout = 5
session.save_path = /var/www/session/
file_uploads = Off
upload_tmp_dir = …Run Code Online (Sandbox Code Playgroud) 尝试仅序列化特定表中的元素,但只有在我执行整个操作时才返回结果 Form
在下面的代码中,我想ajax只是tbl2中的元素
<form>
<input type="text" id="tb1" name="tbl1"/>
<table name="tbl1">
<tr><td><input type="text" name="tb2"/></td></tr>
</table>
<table name="tbl2">
<tr><td><input type="text" name="tb3"/></td></tr>
<tr><td><input type="text" name="tb4"/></td></tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
代码
var params = $("#tbl2").serialize();
var resp = $.ajax({
async: false,
type: "POST",
url: AppRoot + "webhandlers/postback.ashx",
data: params
});
Run Code Online (Sandbox Code Playgroud) 我有以下jquery,并希望在代码运行之前检查文本框是否为空:
<script type="text/javascript">
$(document).ready(function () {
if ($("#FNameTB").val().length < 0) {
$("input#FNameTB").labelify({ labelledClass: "greylabel" });
}
</script>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我有以下代码,我不明白为什么我重新声明get方法时无法访问私有属性.
(function(w,d,a,undefined){
var cfg = {
currency: 'GBP',
exponent: 2
};
var get = function () {
return cfg;
};
a.init = function (settings) {
for (var k in settings) {
cfg[k] = settings[k];
}
};
a.set = function (args) {
get = args.get || get;
//eval(args) //works but why??
};
a.get = function () {
return get();
};
})(window,document,window.fxc = {});
fxc.init({currency: 'EUR'});
// prints, Object { currency="EUR", exponent=2}
console.log(fxc.get());
fxc.set({get: function(msg){
// cannot access private properties
return cfg; …Run Code Online (Sandbox Code Playgroud) 我试图删除最后一个数组的第一个元素
数组:
$harbours = array(
'67' => array('boat1', 'boat2'),
'43' => array('boat3', 'boat4')
);
Run Code Online (Sandbox Code Playgroud)
我想删除并返回 boat3
$last = end($harbours);
$boat = array_shift($last);
Run Code Online (Sandbox Code Playgroud)
如果我那么print_r ($harbours),'boat3'仍在那里.
希望这个不太棘手......
我试图<!-- itemtemplate -->使用javascript(使用jQuery插件)获得评论之间的上下文.结果必须排除评论.在这种情况下,父级是一个表,但它可以是任何东西,如div
表
<table id="lvList" class="grid1">
<tr>
<th>Name </th>
<th>Number </th>
<th>Type </th>
<th>Account Manager </th>
</tr>
<!-- itemtemplate -->
<tr>
<td><boundfield output="hyperlink" datafield="name" dataurlfields="id" dataurlformat="details/?id={0}" /></td>
<td><boundfield output="string" datafield="id" /></td>
<td><boundfield output="string" datafield="type" /></td>
<td><boundfield output="string" datafield="accmgr" /></td>
</tr>
<!-- itemtemplate -->
</table>
Run Code Online (Sandbox Code Playgroud)
DIV
<div id="lvList">
<!-- itemtemplate -->
something something something
<boundfield output="string" datafield="id" />
<!-- itemtemplate -->
</div>
Run Code Online (Sandbox Code Playgroud)
感谢Felix的想法
function GetTemplate(root, name) {
var output = "";
var record = false;
function iterate(node) …Run Code Online (Sandbox Code Playgroud) initialize()函数内部有一个jQuery each循环.在该循环内部的引用this.dbcolumns显然不起作用,因为jQuery已重新分配this给当前循环元素.那么如何this.dbcolumns从循环内部引用呢?它在循环外工作正常.
function datatable() {
this.url = '';
this.htmltable = '';
this.dbtable = '';
this.dbcolumns = new Array();
this.idfield = 'id';
this.pageno = 0;
this.pagesize = 15;
this.totalpages = 0;
this.totalrecords = 0;
this.searchterm = '';
this.initialize = function() {
this.dbtable = $(this.htmltable).attr('data-table');
this.dbcolumns.push(this.idfield);
$(this.htmltable + ' th[data-field]').each(function(i, col){
this.dbcolumns.push( $(col).attr('data-field') ); /* <<<<<<<<<< this line */
});
return this;
}
}
Run Code Online (Sandbox Code Playgroud) 我试图找出从选择列表填充地址字段的最佳方法(模糊但阅读)..
布局:

当我选择地址下拉列表时,我希望看到一个很好的完整地址列表,即街道名称,国家/地区,邮政编码等,但我确定您知道,组合只是一个内衬.
理想情景:

结果:

有没有人这样做的方法?
当我尝试通过在 JSP 上显示德语文本(例如 Zur\xc3\xbccksetzen)时request.setAttribute(),它显示为Zur\xef\xbf\xbdcksetzen。
request.setAttribute("test", "Zur\xc3\xbccksetzen");\nRun Code Online (Sandbox Code Playgroud)\n\n我的 JSP 页面将 contentType 定义为 UTF-8:
\n\n<%@ page contentType="text/html;charset=UTF-8" %>\n<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8">\nRun Code Online (Sandbox Code Playgroud)\n\n我只是用 来显示该属性${test}。
如果我将请求转发到 JSP 页面而不是包含 JSP,文本将正确显示
\n\n转发(工作):
\nrequest.getRequestDispatcher("/WEB-INF/views/index.jsp").forward(request, response);
包含(不起作用):
\nrequest.getRequestDispatcher("/WEB-INF/views/index.jsp").include(request, response);
我的 IDE 使用 UTF-8
\n\n\n我错过了PHP5.5中的函数password_hash和password_verify函数,因为它对我不起作用.
如果我执行哈希并验证为一行,它的工作原理如下:
php -r "var_dump(password_verify('123', password_hash('123', PASSWORD_DEFAULT)));"
bool(true)
Run Code Online (Sandbox Code Playgroud)
但如果我将它们分成两行,它就不起作用:
php -r "var_dump(password_hash('123', PASSWORD_DEFAULT));"
string(60) "$2y$10$UTURqRiTDZBx.M9eCTZEmOwTdA5KwKDn2UcdjYFTs2M8egXe/xP3O"
php -r "var_dump(password_verify('123', '$2y$10$UTURqRiTDZBx.M9eCTZEmOwTdA5KwKDn2UcdjYFTs2M8egXe/xP3O'));"
bool(false)
Run Code Online (Sandbox Code Playgroud)