您好我试图从bash脚本执行php文件
#!/bin/sh
php ./func.php
和func.php
文件看起来像
<?php
echo "php file";
并作为输出
PHP Warning: Module 'apc' already loaded in Unknown on line 0
编辑: 也许你也可以告诉我如何将参数传递给php文件??
答案 0 :(得分:8)
Unknown on line 0
中的错误意味着您的配置有缺陷(这与bash无关 - 直接运行该程序应该产生相同的消息)。
在您的情况下,您的php配置中有两个extension=apc.so
实例。使用
grep apc.so /etc/php5/cli/ -r
找到这些。
答案 1 :(得分:3)
此错误与您的PHP配置有关,而与您的代码无关。
这可以在您的php.ini
中修复,请查看此主题:http://blog.ciuly.com/my-server/php-warning-module-apc-already-loaded-in-unknown-on-line-0/。
答案 2 :(得分:2)
找出CLI模式中使用的php.ini
:
php --info
并检查php.ini
的内容,以获得extension=apc.so
答案 3 :(得分:1)
上面的所有答案都暗示了正在发生的事情,但事实上正在加载一个单独的apc文件,因此只需点击“extension = apc.so”就没有发现问题。
php --info | grep -i apc
PHP Warning: Module 'apc' already loaded in Unknown on line 0
Additional .ini files parsed => /etc/php5/cli/conf.d/apc.ini
因此,自从加载模块以来,您只需要从apache和cli php.ini配置中删除“extension = apc.so”。
答案 4 :(得分:0)
就我而言(在Ubuntu上,基于Debian的Linux版本),我在apc.ini
中有两份/etc/php5/conf.d/
。当我第一次安装apc时,我有一个放在那里的东西。我还找到了从/etc/php5/conf.d/20-apc.ini
到../mods-available/apc.ini
的符号链接。
看来php的一些升级,启用了这个模块的“Debian方式”(带符号链接)。我删除了我的apc.ini副本,现在我正在使用符号链接到mods-available
的那个。
进一步说,有一些命令行程序应该用于在Ubuntu和Debian下启用和禁用PHP模块。以下是启用和禁用APC的命令:
sudo /usr/sbin/php5enmod apc # Creates the symlink in /etc/php5/conf.d that enables APC
sudo /usr/sbin/php5dismod apc # Deletes the symlink in /etc/php5/conf.d that disables APC