标签: php-cli

Nginx + PHP 最大输出限制

我安装了 php 5.5 (fpm) 和 nginx 1.10(gzip 配置为 1)。在 ubuntu 上运行。

当我“回应”一个大输出(超过 2 mb)时,它突然停止在 520 kb 左右。

但是当我在 php-cli 上运行相同的程序时,将整个内容“回显”到终端上没有问题。

通过 adminer 下载 mysql 转储也中途停止。我的意思是下载不完整的文件(如果正确的总输出大几 MB)。

如何解决这个问题?

我的程序没有任何问题。即使是一个足够长的简单循环,也可以在特定字节限制处停止回声“hello world”。

我不确定这个问题是由 nginx 端还是 php 端引起的。

php nginx php-fpm php-cli

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

Apache 执行 HTML,但不执行 PHP;PHP CLI 可以工作

我在 rhel 6.2 上使用 Apache 2.2.15 运行 php 5.3.3,但无法让 Apache 解释 PHP 代码。

没有错误(在系统日志、httpd/error_log 或 php_errors.log 中) - 我已在 php.ini 中启用错误报告:

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On
log_errors = On
error_log = /var/log/php_errors.log
Run Code Online (Sandbox Code Playgroud)

然而,当我直接从浏览器(例如 myserver.com/index.php)查看包含以下代码的 index.php 时,除了白屏之外什么都没有出现:

<?php echo 'Hello php World'; ?>
Run Code Online (Sandbox Code Playgroud)

当在命令行上执行 php 时,我得到了终端的预期文本输出(“ Hello php World”)。

当我将一些 HTML 添加到 index.php 时,如下所示:

<html>
    <p>Hello from within html</p>
    <?php echo 'Hello php World'; ?>
</html>
Run Code Online (Sandbox Code Playgroud)

并用我的浏览器查看它,它只返回“ Hello from within html。” 但是,当从命令行执行时,我得到:

<html>
    <p>Hello from within …
Run Code Online (Sandbox Code Playgroud)

unix php php-cli apache-2.2

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

在控制台上启用彩色 PHP CLI 消息

如何在控制台(Mac OS X、MacPorts 的最新 PHP/Apache)上为 PHP CLI 启用彩色消息?

export CLICOLOR=1
export LSCOLORS=gxfxcxdxbxegedabagacad
Run Code Online (Sandbox Code Playgroud)

似乎还不够,所有 PHP CLI 生成的输出在控制台上都是无色的。如果结果看起来像 XAMPP PHP 实例,那就太好了。有任何想法吗?

bash nix mac-osx php5 php-cli

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

PHP CLI 未加载 IMAP 扩展

当我尝试运行imap在我的浏览器中使用的脚本时,它运行良好(它是从安装了扩展程序的网络上的 Ubuntu 14.04 服务器加载的)。但是,当我尝试在所述服务器上使用 PHP CLI 时,它不会加载imap.

我写了一个简单的脚本来检查加载的扩展,使用get_loaded_extensions(),它教会了我两件事:

  • PHP CLI 有 50 个扩展,而通过我的网络浏览器运行它有 51 个。
  • 我在apache2/php.ini( imagick.so) 中手动声明的另一个扩展正在 CLI 和浏览器中加载

为什么会发生这种情况,如何在 CLI 和浏览器中加载所有 51 个扩展?

php imap php-cli

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

PHP 文件是否需要读取权限才能在 CLI 中执行?

我有一个 php 文件 test.php

#!/bin/php

<?php
  echo "test";
?>
Run Code Online (Sandbox Code Playgroud)

root 拥有的这个文件和它的权限是这些

-rwxr-x--x 
Run Code Online (Sandbox Code Playgroud)

所以“其他人”可以执行,但不能读取。

当以 root 以外的其他用户身份登录并尝试从命令行运行此文件时

php test.php 
Run Code Online (Sandbox Code Playgroud)

得到以下错误

Could not open input file: test.php
Run Code Online (Sandbox Code Playgroud)

如果给予 +r 权限,它就可以工作。

我认为只需要执行权限。

PHP 文件是否需要“其他人”的读取权限才能在命令行中执行?

注意:使用 Ubuntu 10.04 LTS 和 PHP 5.3.2

ubuntu php permissions php-cli

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

标签 统计

php-cli ×5

php ×4

apache-2.2 ×1

bash ×1

imap ×1

mac-osx ×1

nginx ×1

nix ×1

permissions ×1

php-fpm ×1

php5 ×1

ubuntu ×1

unix ×1