Intereting Posts
Получение ответов twitter с помощью твита id Как применить правила нормализации URL в PHP? Что происходит, когда сервер находится в бесконечном цикле и клиент останавливается? Когда __destruct не будет вызываться в PHP? Рекурсивная функция PHP для отображения списка смежности Функция PHP: найти имя переменной аргумента и номер строки вызова функции Смягчение атак xss при создании ссылок Laravel скрытые атрибуты. например, пароль – безопасность Подкаталог WordPress как Symfony (Symfony3) Загрузите данные двоичного потока из браузера с помощью PHP с веб-службой «загруженный файл поврежден» Правильный график Facebook Api Video Insitghts Request PHP SDK Как вы получаете композитор для установки не-композиторского пакета? Кодирование графического индикатора выполнения в php (проблема с перекрытием) Рекомендуемый сервер для непрерывной интеграции для проекта PHP Уведомление HTML5 с PHP

Ошибка при выполнении php-скрипта из bash

Привет, я пытаюсь выполнить php-файл из сценария bash

#!/bin/sh php ./func.php 

и файл func.php выглядит так:

 <?php echo "php file"; 

И как вывод PHP Warning: Module 'apc' already loaded in Unknown on line 0

EDIT: И, может быть, U может также сказать мне, как передать параметр в файл php?

Solutions Collecting From Web of "Ошибка при выполнении php-скрипта из bash"

Ошибка в Unknown on line 0 означает, что ваша конфигурация неисправна (это не имеет никакого отношения к bash – прямое выполнение программы должно давать одно и то же сообщение).

В вашем случае у вас есть два экземпляра extension=apc.so в вашей конфигурации php. Используйте grep apc.so /etc/php5/cli/ -r чтобы найти их.

Эта ошибка связана с вашей конфигурацией PHP, а не с вашим кодом.

Это можно исправить в php.ini , проверьте этот поток: http://blog.ciuly.com/my-server/php-warning-module-apc-already-loaded-in-unknown-on-line-0/ ,

Узнайте, какой php.ini используется в режиме CLI:

 php --info 

и проверьте содержимое этого php.ini для двойного объявления extension=apc.so

Все ответы выше намекали на то, что происходит, но это был факт, что был загружен отдельный файл apc, поэтому просто grepping для «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 

Так как модуль загружался, вам просто нужно удалить «extension = apc.so» из ваших конфигураций apache и cli php.ini.

В моем случае (на Ubuntu, на основе Linux на основе Debian) у меня было две копии apc.ini в /etc/php5/conf.d/ . У меня был тот, который я поставил там, когда я впервые установил apc. Я также нашел символическую ссылку из /etc/php5/conf.d/20-apc.ini на ../mods-available/apc.ini .

Похоже, что некоторое обновление php позволило этому модулю «Debian way» (с символической ссылкой). Я удалил свою копию apc.ini, и теперь я просто использую тот, который символически связан с mods-available .

Копаем дальше, есть программы командной строки, которые должны использоваться для включения и отключения модулей PHP под Ubuntu и Debian. Вот команды для включения и отключения 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