小编Ste*_*one的帖子

PHP Apache在执行STORED PROCEDURE时崩溃

问题

当我执行以下代码时(我正在调用具有5个IN参数和1个OUT参数的存储过程)

$conn->query("SET @res = ''");

$mysqli=$conn;
if (!($stmt = $mysqli->prepare("CALL retrieve_matches(5,3, 16, 2, false, @res)"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

do {
    if ($res = $stmt->get_result()) { //Apache crash on this call
        printf("---\n");
        var_dump(mysqli_fetch_all($res));
        mysqli_free_result($res);
    } else {
        if ($stmt->errno) {
            echo "Store failed: (" . $stmt->errno . ") " . $stmt->error;
        }
    }
} while …
Run Code Online (Sandbox Code Playgroud)

php mysql apache stored-procedures wamp

19
推荐指数
3
解决办法
972
查看次数

Apache背后是企业代理

我正在开发一个php应用程序.我正在使用wamp,而且我在公司代理之后.我正在使用cntlm来验证NTLM.我需要卷曲谷歌地理编码api,为了做到这一点,我使用了以下设置:

    curl_setopt($ch,CURLOPT_PROXY, '127.0.0.1:3128');
    curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
Run Code Online (Sandbox Code Playgroud)

我想找到一种方法来避免为CURL设置这些选项.我相信我可以玩Apache设置,但我不确定.我需要找到这个解决方案的原因是:

  1. 在生产环境中,将不会有这样的代理(目前仅在环境变量设置为DEV env时使用上述选项,但仍然:它不是最佳解决方案)
  2. 如果我想使用第三方SDK(例如facebook php sdk),那些内部使用CURL但是它们不一定暴露更改CURL选项的方法(例如facebook sdk没有).我不想更改SDK源代码以适合我的代理

我尝试了什么:

到目前为止,我在apache上启用了proxy_module,并在httpd.conf中添加了以下行,但没有成功

ProxyRemote * http://127.0.0.1:3128
Run Code Online (Sandbox Code Playgroud)

我仍然无法访问互联网.我google了很多,但我找不到解决方案,任何想法?

我可以找到很多人谈论同样的问题,但我没有找到任何全面的解决方案,因此我提出了赏金.

我找到了什么:

有一个我发现的错误:但是我不确定这是否适用于卷曲,无论如何我找不到如何修改php.ini

[2010-12-20 14:03 UTC] jani@php.net -Summary:更改默认的http-wrapper +摘要:添加php.ini选项为包装器设置默认代理-Package:Feature/Change Request + Package:Streams相关-PHP版本:5CVS + PHP版本:*

[2011-04-05 11:29 UTC] play4fun_82 at yahoo dot com嗨,我有同样的问题.我的解决方案是使用cntml隧道工具通过代理服务器.您配置cntml代理以通过适当的身份验证将端口上的本地主机上收到的http请求转发到目标.

在梨你只需配置

pear config-set http_proxy 127.0.0.1:3128

3128 - 是cntlm中的port configuret(它可以是任何其他空闲端口).

非常感谢

php apache sdk proxy curl

15
推荐指数
1
解决办法
2329
查看次数

什么是Android Volley的最新版本?

我很遗憾地问这个非常简单的问题,但是我试图找到Android Volley的最后一个版本超过半小时.

这里:https://developer.android.com/training/volley/index.html我找到了

dependencies {
    ...
    compile 'com.android.volley:volley:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

但我确信这不是最后一个版本.使用这个答案没有帮助,因为它没有显示凌空的任何更新.

谢谢

android android-studio android-volley

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

Laravel在生产服务器上迁移

我正在使用Laravel,作为我的部署例程的一部分,我有命令

RUN php artisan migrate

因为我正在制作中,所以我得到了错误

在生产中应用,命令取消!

修复很简单:RUN php rankbot/artisan migrate --force但我觉得这不是正确的方法吗?确保数据库架构始终是最新的最佳方法是什么?

migrate laravel artisan

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

Xcode:在多人之间共享相同的Bundle ID

我正和朋友一起开发iOS应用程序.我们都是单身人士(我们没有组织)参加Apple开发计划.我们正在使用git,我们希望能够从我们的Mac构建应用程序,但我无法编译sinche我的朋友已经使用了Bundle ID.是否有可能在不作为组织的情况下同时处理同一个项目?我们该怎么办?

谢谢

git iphone xcode ios

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

键盘在UICollectionViewController中打破布局

我有一个水平的UICollectionViewController,其中每个单元格在单元格的底部包含一个UITextView.当我在UITextView内部点击时,键盘出现时,CollectionView的高度减少了260点(我注意到键盘的高度),然后增加130点,所以最终高度比预期的低130点.

你知道为什么框架会以这种方式改变吗?

我在下面列出了最相关的部分,或者你可以在这里找到测试项目:https://github.com/johntiror/testAutomaticPush/tree/master

UIViewController(只需启动CollectionViewController):

class ViewController: UIViewController {
  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    let layout = UICollectionViewFlowLayout()
    layout.itemSize = view.bounds.size
    layout.scrollDirection = .horizontal
    layout.minimumLineSpacing = 0
    let fsPicVC = CollectionViewController(collectionViewLayout: layout)
    self.present(fsPicVC, animated: true) { }
  }
}
Run Code Online (Sandbox Code Playgroud)

CollectionViewController:

class CollectionViewController: UICollectionViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    self.collectionView!.register(CollectionViewCell.self, forCellWithReuseIdentifier: "Cell")                
  }

  override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)    

    return cell
  }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

非常感谢

ios uicollectionview uicollectionviewlayout swift

8
推荐指数
1
解决办法
1382
查看次数

MySQL - 如何检查START TRANSACTION是否处于活动状态

我注意到,START TRANSACTION自动COMMIT以前的查询.因为这个以及我在整个事务结束之前调用了几个存储过程的事实,我需要检查我是否在内部START TRANSACTION.阅读手册我明白autofommit在a里面设置为false START TRANSACTION,但它看起来不像这样.我写了以下程序:

    CREATE DEFINER=`root`@`localhost` PROCEDURE `test_transaction`()
BEGIN

show session variables like 'autocommit';

start transaction;

show session variables like 'autocommit';

COMMIT;

show session variables like 'autocommit';

END
Run Code Online (Sandbox Code Playgroud)

但每个show session variables like 'autocommit';show autocommit = ON,而我预计第二个是autocommit = OFF.

如何检查我是否在里面START TRANSACTION

我需要执行此检查,因为我有需要的procedure1 START TRANSACTION然后它调用也需要的procedure2 START TRANSACTION.但是我们假设我有第三个程序different_procedure,它也需要调用procedure2,但在这种情况下,different_procedure不会使用START TRANSACTION.在这种情况下,我需要procedure2来检查是否START TRANSACTION已启动.我希望这很清楚.

谢谢

mysql transactions autocommit

7
推荐指数
2
解决办法
4796
查看次数

Mysql显示不超过5个并发连接

我正在我的全新服务器Apache/PHP/Mysql(Bitnami LAMP堆栈.php 7.0.3/MySQL 5.7.10)上执行一些负载测试.我在一个loadBalancer后面使用AWS和1个EC2实例.目前我正在使用loader.io或jmeter进行测试.我正在测试一个执行此查询的非常简单的API:

select *,sleep(0.5) from debug limit 1
Run Code Online (Sandbox Code Playgroud)

我添加了sleep(0.5),因为我想看看服务器如何处理多个并发连接,我发现了一个瓶颈:如果我运行"SHOW PROCESSLIST",即使我有10个并发用户,我也只能看到5个进程.负载测试显示连接已排队,因为测试期间响应时间从500毫秒增加到几秒(取决于测试持续时间和并发用户数).

我检查了

select @@max_connections
Run Code Online (Sandbox Code Playgroud)

它是151(默认值).max_user_connections为0.我应该检查哪些其他参数来增加数据库上的并发连接数?

如果我用5个并发用户运行测试,每个用户都会在500毫秒内得到响应.如果我添加的并发用户数多于响应时间减慢的话.

如果我在不访问数据库的API上运行负载测试,即使有400个并发用户也没有问题.

编辑:

用HTOP监控我看到:

任务:34,245 thr; 2运行

可能在这里问题?

非常感谢

mysql testing performance load-testing

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

MySQL SELECT返回错误的结果

我正在使用MySQL 5.7.我创建了一个带有DATETIME类型的虚拟列(未存储)的表,其中包含索引.当我正在研究它时,我注意到order by并没有返回所有数据(我在顶部期待的一些数据丢失了).MAX和MIN的结果也是错误的.我跑完之后

ANALYZE TABLE 
CHECK TABLE
OPTIMIZE TABLE
Run Code Online (Sandbox Code Playgroud)

然后结果是正确的.我想索引数据存在问题,所以我几乎没有问题:

  1. 何时以及为何会发生这种情况?
  2. 有办法防止这种情况吗?
  3. 在我运行的3个命令中,哪个是正确使用的?

我担心将来会发生这种情况,但我不会注意到.

编辑:

根据评论中的要求,我添加了表定义:

CREATE TABLE `items` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_id` bigint(20) unsigned DEFAULT NULL,
  `image` json DEFAULT NULL,
  `status` json DEFAULT NULL,
  `status_expired` tinyint(1) GENERATED ALWAYS AS (ifnull(json_contains(`status`,'true','$.expired'),false)) VIRTUAL COMMENT 'used for index: it checks if status contains expired=true',
  `lifetime` tinyint(4) NOT NULL,
  `expiration` datetime GENERATED ALWAYS AS ((`create_date` + interval `lifetime` day)) VIRTUAL,
  `last_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, …
Run Code Online (Sandbox Code Playgroud)

mysql sql select virtual-column

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

SourceKitService在Xcode 8.3.2上占用所有CPU

我没问题Xcode 8.3.2和SourceKitService正在使用我所有的CPU.我在stackoverflow上阅读了很多问题,但我找不到真正的解决方案.

我尝试了什么:

  • 清理项目数据:cmd + shift + alt + K.
  • 删除derivedData文件夹
  • 重新启动Xcode
  • 从git重新下载项目代码

没有任何效果.我理解这个问题可能与某些代码有关,但我怎样才能发现问题在哪里?我的项目很大......

目前Xcode无法使用......

谢谢你的帮助

xcode sourcekitservice

7
推荐指数
2
解决办法
1215
查看次数