小编Tim*_*lee的帖子

等待连接(netbeans-xdebug)MAMP OS X.

前言

几个小时后,我无法让NetBeans连接到xdebug.几个月前,从旧版本的MAMP升级到MAMP PRO后,调试工作完美无瑕.一周前,它开始变得越来越好.它看似连接但不会停在断点处.重启NetBeans(v7.0.1)和apache有时会让它工作很短的时间.

我真的需要它修复,所以我安装了最新版本的MAMP PRO(2.1.2).现在我永远得到了等待连接消息.

测试我做了

当等待连接消息与移动栏一起出现时,我会查看它是否正在收听.它是...

# lsof -i -n -P |grep 9001
java  6496  tim  230u  IPv6 0xffffff80239d8190      0t0    TCP *:9001 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

在NetBeans php config中,我将解释器设置为:/Applications/MAMP/bin/php/php5.4.10/bin/php

执行以下操作:

# /Applications/MAMP/bin/php/php5.4.10/bin/php -i | grep xdebug
Run Code Online (Sandbox Code Playgroud)

告诉我xdebug和phpinfo()一样运行

我(很多次)确认我到处都有相同的端口号.我尝试过端口9000和9001.

xdebug.log上执行尾部操作然后从浏览器启动会话而不在NetBeans中启动调试会话会产生:

I: Connecting to configured address/port: localhost:9001.
E: Could not connect to client. :-(
Run Code Online (Sandbox Code Playgroud)

通过等待连接消息从浏览器启动会话,我在日志中得到了这个:

: Connecting to configured address/port: localhost:9001.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/tim/MAMPSites/facts.tvd.us/htdocs/sendfile/tim.php" language="PHP" protocol_version="1.0" appid="7279" idekey="netbeans-xdebug"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) …
Run Code Online (Sandbox Code Playgroud)

php macos netbeans mamp xdebug

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

为什么MySQL LEFT JOIN不会返回所有行,除非有WHERE子句 - phpMyAdmin问题

考虑以下:

eventTypes表有163行.

事件有43,000行.

SELECT events.eventTypeID, eventTypes.eventTypeName 
FROM events 
LEFT JOIN eventTypes ON events.eventTypeID = eventTypes.eventTypeID
Run Code Online (Sandbox Code Playgroud)

这将返回163行.但是,如果我添加"WHERE events.eventID> = 0"

SELECT events.eventTypeID, eventTypes.eventTypeName 
FROM events 
LEFT JOIN eventTypes ON events.eventTypeID = eventTypes.eventTypeID 
WHERE events.eventID >= 0
Run Code Online (Sandbox Code Playgroud)

我得到了所有43,000行.我希望缺少一个WHERE子句会给我一切.我在想这个错吗?

更新:我刚在另一台服务器上尝试了这个并且结果相同.我复制并粘贴的确切查询是:

SELECT events.eventTypeID, eventTypes.eventTypeName FROM events LEFT JOIN eventTypes ON events.eventTypeID = eventTypes.eventTypeID
Run Code Online (Sandbox Code Playgroud)

这只返回前163条记录.MySQL版本是5.5.29和5.1.61.我查看了错误列表但没有发现任何内容.

更新#2:EXPLAIN使用任一查询提供相同的输出(即有或没有WHERE 1 = 1)

mysql> EXPLAIN(SELECT events.eventTypeID, eventTypes.eventTypeName FROM events LEFT JOIN eventTypes ON events.eventTypeID = eventTypes.eventTypeID);
+----+-------------+------------+--------+---------------+-------------+---------+-------------------------------+-------+-------------+
| id | select_type | table      | type   | possible_keys | key …
Run Code Online (Sandbox Code Playgroud)

mysql sql phpmyadmin

9
推荐指数
1
解决办法
2362
查看次数

有没有办法使用 API 从谷歌驱动器上的多个文件创建一个 zip 文件?

如果您下载目录,Google Drive 网络界面允许您下载单个 .zip 文件。但是,我发现无法使用 API 做到这一点。是否可以使用 API 在驱动器上创建多文件 zip?

更新:Tanakie 的代码有效!这很棒!但是,我只能在我的个人帐户中使用它。我有两个 G-Suite 管理员帐户,但出现错误:

“抱歉,目前无法打开文件。

请检查地址,然后再试一次。”

我已经确认这在多个免费的个人谷歌帐户中工作正常。知道为什么它在使用付费谷歌帐户时不起作用吗?

- - - - 更新 - - -

如果您收到“抱歉,此时无法打开文件”错误,请等待一天,该错误会自行修复。

这是我仅使用 POST 的最终解决方案。就像下面 Tanaike 所说的那样。

谷歌脚本:

function doPost(e) {
  var zipFileName = e.parameter.zipFileName
  var fileIds = e.parameter.ids.split(",");
  return ContentService.createTextOutput(zipping(fileIds, zipFileName));
}

function zipping(fileIds, zipfilename) {
  var blobs = [];
  var mimeInf = [];
  var accesstoken = ScriptApp.getOAuthToken();
  fileIds.forEach(function(fileID) {
      try {
          var file = DriveApp.getFileById(fileID);
          var mime = file.getMimeType();
          var name = file.getName();
      } …
Run Code Online (Sandbox Code Playgroud)

web-applications drive google-apps-script google-drive-api

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

使用eBay Trading API在描述中插入html

使用eBay Trading API AddFixedPrice Item调用,我尝试了以下内容:

$description = '<p>My Description</p>';
Run Code Online (Sandbox Code Playgroud)

...

<?xml version="1.0" encoding="utf-8"?>
<AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
...
<Description><![CDATA[' . $description . ']]></Description>
Run Code Online (Sandbox Code Playgroud)

<Description>' . htmlentities($description) . '</Description>
...
</AddFixedPriceItemRequest>
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.如何使用eBay Trading API将html插入描述XML字段?

更新:显然,当使用htmlentities()时,主要的Description字段正确处理html.但是,返回描述字段不会.

php xml ebay-api

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

PhantomJS; 如果我在page.evaluate()中设置一个变量,如何在page.evaluate()之外访问该变量的值

使用PhantomJS考虑以下代码片段:

var reloadAfterLogin = false;
function(user, pass, debug){ // step 3 submit Login
   page.evaluate(function(user, pass, debug){
     if($("form").attr("action").indexOf("login.do") > 0){
       reloadAfterLogin = true;
       $('form').submit();
     }
   }, user, pass, debug);
 },
Run Code Online (Sandbox Code Playgroud)

据我了解,这不仅仅是一个范围问题.在page.evaluate()内部执行的代码是一个完整的独立JavaScript实例.我不得不承认我仍然很难解决PhantomJS如何工作但我需要访问page.evaluate()之外的reloadAfterLogin变量.我怎样才能做到这一点?

javascript jquery phantomjs

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

如何在postgreSQL PL / pgSQL EXECUTE中返回值

我正在尝试从EXECUTE中返回插入ID。这很好用:

CREATE OR REPLACE FUNCTION public.mytest2()
    RETURNS INTEGER
LANGUAGE plpgsql
AS $function$
DECLARE
    retval  INTEGER;
    RETURNING "DULid" INTO retval;';
BEGIN
    INSERT INTO "dbUpdateLog" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retval;
    RETURN retval;
END;
$function$
Run Code Online (Sandbox Code Playgroud)

但是,在EXECUTE中执行此操作时出现错误:

CREATE OR REPLACE FUNCTION public.mytest2()
    RETURNS INTEGER
LANGUAGE plpgsql
AS $function$
DECLARE
    retval  INTEGER;
BEGIN
    EXECUTE 'INSERT INTO "dbUpdateLog" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retval;';
    RETURN retval;
END;
$function$
Run Code Online (Sandbox Code Playgroud)

我需要使用EXECUTE,因为查询将动态生成。这是错误:

ERROR:  syntax error at or near "INTO"
LINE 1: ...Log" (notes) VALUES ($$hello$$) RETURNING …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

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

如何使用 php 做简单的 google script api

我想弄清楚如何通过 php 的 api 调用 google 脚本。这是我的脚本:

function doGet() {
  return ContentService.createTextOutput("hello world!");
}
Run Code Online (Sandbox Code Playgroud)

我可以通过 URL 将其作为 Web 应用程序调用,但我想要完成的任务需要通过 API 调用它。谷歌的文档非常混乱,几乎毫无用处。

这似乎是一项非常简单的任务,但我却一事无成。有谁知道在哪里可以找到简单的分步教程,或者有人可以详细说明完成此任务所需的步骤吗?

更新:所以,我已经放弃了 google API 来访问脚本。我可以使用所有驱动器 api 调用,但似乎无法通过 API 调用我自己的脚本。这是我的最终目标:

用于压缩文件的谷歌脚本:

function doGet(e) {
  var fileIds = [];
// hard code a couple of file id's just for simplicity now.
  fileIds.push('0BzoYw0RgVVOvU0RqdTFrcGdSSzA');
  fileIds.push('0BzoYw0RgVVOvNEJNcWpmSkNxNTA');  
  return ContentService.createTextOutput(zipping(fileIds));
}

function zipping(fileIds) {
  var zipfilename = "sample2.zip";
  var blobs = [];
  var mimeInf = [];
  var accesstoken = ScriptApp.getOAuthToken();
  fileIds.forEach(function(e) {
      try {
          var file …
Run Code Online (Sandbox Code Playgroud)

php web-applications google-api google-apps-script google-cloud-platform

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