我正在运行 Mac OSX 10.8.2。我对 Mac OSX 也很陌生——以前我唯一理解的 Mac 是 Classic Mac。我的其他工作站是 Windows 和 Linux。
在 Mac OSX 上安装 PHP CLI 的技术是什么?看,我使用 gedit for Mac 并连接到 FTP 位置或我在 VM 中的本地 Ubuntu Linux 服务器。在那个编辑器中,有一个功能可以添加外部程序,我通常使用的一种技术是添加“php -l”,它让我获取当前文档并根据 PHP CLI 对其进行 lint 检查。我曾经在 Ubuntu 上一直这样做,但在 Mac 上我不确定如何安装 PHP CLI。
将 PHP 输出传送到 linux 'less' 命令会导致 'less' 真正起作用。(CentOS 6.2,CentOS 5 没有。)
当我将 php 的输出通过管道传输到 'less' 时,它需要enter在每个命令之后按下该键,即使在 'j' 命令(向下滚动一行的命令)之后也是如此。此外,命令键显示在屏幕上,而“少”不会清理屏幕。
所以,运行后:
$ php -r 'for ($i=0; $i<300; $i++) { print "$i\n";}' | less
Run Code Online (Sandbox Code Playgroud)
然后输入j(通常向下滚动一行),我看到一个 'j' 字符出现在屏幕底部的 ':' 字符之后。按下enter导致 less 最终“接受”j 命令,它确实滚动,但现在我看到输出的两个相邻行之间的“:j”:
10
:j
11
Run Code Online (Sandbox Code Playgroud)
将 less 与 python 的等效输出一起使用时,一切都很好,并且不太正常:
$ python -c 'for i in xrange(1, 300): print i' | less
Run Code Online (Sandbox Code Playgroud)
这是怎么回事,我该如何解决?
更多信息:
$ less --version
less 436
Copyright (C) 1984-2009 Mark Nudelman
less comes with …Run Code Online (Sandbox Code Playgroud) 我正在运行几个 PHP CLI 脚本并通过 Supervisor 监控它们。
当我supervisorctl用来监视它们时,脚本显示如下:
cleanup RUNNING pid 1805, uptime 0:00:41
postsales RUNNING pid 1825, uptime 0:00:10
rebills RUNNING pid 1823, uptime 0:00:19
subscribers RUNNING pid 1827, uptime 0:00:10
Run Code Online (Sandbox Code Playgroud)
但是,当我发出 a 时stop all, supervisorctl 冻结,我需要按 CTRL+C 退出。
当我下次运行时supervisorctl,状态如下所示:
cleanup RUNNING pid 1935, uptime 0:00:44
postsales RUNNING pid 1953, uptime 0:00:05
rebills STOPPED Jul 19 12:23 PM
subscribers RUNNING pid 1951, uptime 0:00:05
Run Code Online (Sandbox Code Playgroud)
即只有一个进程已停止,其他进程继续运行。
如果我发出更多stop all命令,同样的事情会发生 - 一个脚本尝试退出,其余的挂起。
我已经尝试修改 supervisord.conf 文件以 …
我正在使用 drush,这是一个用于管理 drupal 网站的命令行 php 应用程序。我正在运行一个命令来导入大量数据,这导致我达到了 php 的内存限制。
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted ...
Run Code Online (Sandbox Code Playgroud)
如果我正确地进行数学运算,则为 512MB (536870912 / 1024 / 1024 = 512)。我已经更改了 drush 使用的 php.ini 中的指令:
$> drush status
...
PHP configuration : /etc/php5/cli/php.ini
$> grep memory /etc/php5/cli/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1024M
Run Code Online (Sandbox Code Playgroud)
但我仍然达到 512 MB 的限制!我在虚拟机中运行,我将其内存设置从 512 MB 的 RAM 更改为 1025 MB,以允许 drush 运行。
$> free -m
total used free shared buffers …Run Code Online (Sandbox Code Playgroud)