Ошибка 255 php

I recently compiled a PHP 5.2.9 binary, and I tried to execute some PHP scripts with it. I can execute some scripts without problems, but one of them halts its execution midway, exiting with no errors or warnings. The returned status code of the process is 255.

I’ve read in the manual that such status is ‘reserved’. The question is: for what?

I believe it’s got something to do with missing dependencies in the PHP executable, but I can’t be sure.

Anyone knows what does an exit code of 255 mean?

P.S. There are no errors in the PHP scripts, they run OK on other machines.

masegaloeh's user avatar

masegaloeh

18.2k10 gold badges57 silver badges105 bronze badges

asked Jun 22, 2010 at 15:17

Silvio Donnini's user avatar

255 is an error, I could reproduce that same exit code by having a fatal error.

This means that somehow your error reporting is hidden, there are some possible causes for this:

  • error_reporting is not defined and php reports no error at all
  • An @ (error suppression operator) hides the output of the error
  • STDERR is redirected somewhere else (php -f somefile.php 2>/dev/null, remove the redirection)
  • This could still be an internal error due to missing dependencies and that a fatal error has the same exit code as a program crash.

hakre's user avatar

hakre

1561 silver badge13 bronze badges

answered Jun 22, 2010 at 16:05

Weboide's user avatar

WeboideWeboide

3,3351 gold badge24 silver badges33 bronze badges

1

It could also mean that /etc/php5/cli/php.ini (on Debian/Ubuntu) or /etc/php.ini (on RHEL/CentOS/etc.) has display_errors = Off which means that any errors or warnings from command-line scripts will go nowhere, unless log_errors = On (see also the error_log setting).

Try running your scripts with a wrapper script that uses php -d display_errors=on ...

answered Mar 12, 2014 at 7:08

Alastair Irvine's user avatar

2

It could also mean that

  • /etc/php5/cli/php.ini (on Debian/Ubuntu)

  • /etc/php.ini (on RHEL/CentOS/etc.)

has set

display_errors = Off 

which means that any errors or warnings from command-line scripts will go nowhere, unless

log_errors = On 

See also the error_log setting.

Try running your scripts with a wrapper

masegaloeh's user avatar

masegaloeh

18.2k10 gold badges57 silver badges105 bronze badges

answered Mar 6, 2016 at 15:15

Alauddin's user avatar

This might be caused by PHP suppressed error messages (the line starts with @). I found the line by

grep -r "@" src/ 

and then commented out the @. After this I got the actual error and was able to fix it easily. I also noticed afterwards that PHPStorm had found out the same error already, but I hadn’t fixed/noticed it.

answered Feb 11, 2016 at 17:03

Antti Hätinen's user avatar

In my case that was xDebug death because of low xdebug.max_nesting_level value.

answered Jan 16, 2018 at 12:34

zored's user avatar

zoredzored

1211 bronze badge

Locate what php.ini your php-cli used.

brain@cordova:~% php -i | grep "php.ini"

8:Configuration File (php.ini) Path => /etc/php/7.3/cli
9:Loaded Configuration File => /etc/php/7.3/cli/php.ini

Make sure display_errors parameters is active.

brain@cordova:~% php -i | grep "error"

106:display_errors => On => On
114:error_log => /tmp/php_errors.log => /tmp/php_errors.log
116:error_reporting => 22527 => 22527
134:log_errors => On => On

Make sure display_errors and log_errors are ON.

Define the error_log location to logging errors into file.

Error messages should shown now.

answered Mar 28, 2020 at 10:19

Brain90's user avatar

Brain90Brain90

1211 silver badge7 bronze badges

Перестали работать команды Cron:

1. тиггерные рассылки

2. Автом. обновление информации о доставке

3. Плагин Интеграция СДЭК для ежедневного обновления списка пунктов выдачи

Причем ранее работали без проблем.

И команда Cron плагина Брошенные корзины продолжает работать нормально.

В чем может быть причина, помогите пожалуйста

I’m trying to make unit tests in Symfony 3 framework. Here are my configurations;
Run/Debug Configirations

PHPUnit Preferences

and here is the error that I’m facing.

/Applications/MAMP/bin/php/php7.0.0/bin/php /private/var/folders/w9/cmwlplqx53x3slxkm4c1chx00000gn/T/ide-phpunit.php --bootstrap /Users/muhammetergenc/code/kampweb/phpunit.xml.dist --configuration /Users/muhammetergenc/code/kampweb/phpunit.xml.dist TestsAppBundleControllerPersonTest /Users/muhammetergenc/code/kampweb/tests/AppBundle/Controller/PersonTest.php
Testing started at 3:04 PM ...
<?xml version="1.0" encoding="UTF-8"?>

<!-- http://phpunit.de/manual/4.1/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="app/autoload.php">

    <!-- <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
             backupGlobals="false"
             colors="true"
             bootstrap="web/app_test.php">-->
    <php>
        <ini name="error_reporting" value="-1" />
        <server name="KERNEL_DIR" value="app/" />
    </php>

    <testsuites>
        <testsuite name="Project Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist>
            <directory>src</directory>
            <exclude>
                <directory>src/*Bundle/Resources</directory>
                <directory>src/*/*Bundle/Resources</directory>
                <directory>src/*/Bundle/*Bundle/Resources</directory>
            </exclude>
        </whitelist>
    </filter>
</phpunit>

Process finished with exit code 255

I do have the same configuration on my other desktop and it works just fine.

asked Apr 4, 2016 at 20:11

akyayik's user avatar

3

Today I had the same error — 255.
in my case I hadn’t declared CONSTANTS in the setUp method.

I think that you have something similar.
Try to find it by using xdebug — it helped me out.

danronmoon's user avatar

danronmoon

3,8145 gold badges34 silver badges56 bronze badges

answered Apr 20, 2017 at 13:28

Jacek's user avatar

JacekJacek

463 bronze badges

In my case, It was a php error setting issue.

I set display_startup_errors to «1». and phpunit reported error.

Specifically, in my bootstrap script, I wrote below.

ini_set('display_startup_errors', 1);

And phpunit report my require_once runtime error.

answered Nov 21, 2022 at 15:14

tarohida's user avatar

In my case, it was a memory issue.

In the setUp() method I initialize multiple class properties.

The fix for me was defining (override) the tearDown() method to unset the properties after each test.

protected function tearDown(): void
{
    // clean memory
    unset($this->foo);
    unset($this->bar);

    parent::tearDown();
}

answered Oct 5, 2020 at 16:56

Abdrhmn's user avatar

AbdrhmnAbdrhmn

5916 silver badges6 bronze badges

  1. 28.08.2009, 07:36

    #1

    WAPshurik вне форума


    Junior Member


    Доброй ночи! ISPpro, cron вытворяет просто непонятные мне вещи.
    команда:

    @hourly /usr/local/bin/php /home/p90006/data/www/website.com/acd/main.php >/dev/null 2>&1

    сам скрипт отлично запускается, никаких проблем с путями нет.

    ошибка в режиме ручного запуска:
    Exited with return code = 255

    в лог падает:

    Aug 28 02:35:00 cs2066 /usr/sbin/cron[83808]: (p90006) CMD (/usr/local/bin/php /home/p90006/data/www/website.com/acd/main.php >/dev/null 2>&1)

    Но как-то эффекта нету…

    в чем соль ошибки 255 ? Спасибо!


  2. 28.08.2009, 22:06

    #2

    ls вне форума


    ISPsystem team

    Аватар для ls


    По умолчанию

    Руками если запустить в ssh
    /usr/local/bin/php /home/p90006/data/www/website.com/acd/main.php

    ошибок не выдает?

    Похоже у вас php по другому пути находится


  3. 29.08.2009, 05:58

    #3

    WAPshurik вне форума


    Junior Member


    По умолчанию

    Нет, путь абсолютно верный, ошибок нет


  4. 29.08.2009, 06:43

    #4

    ls вне форума


    ISPsystem team

    Аватар для ls


    По умолчанию

    Попробуйте через веб запускать, как

    Код:

    /usr/local/bin/wget -O /dev/null http://site.ru/path/to/file.php

  5. 17.09.2010, 02:02

    #5

    Help вне форума


    Senior Member


    По умолчанию

    Цитата Сообщение от ls
    Посмотреть сообщение

    Похоже у вас php по другому пути находится

    Извините за глупый вопрос.

    Как узнать где php находиться ?

    А то делаю так и выходит ошибка

    [root@amd ~]# /usr/local/ispmgr/addon/vmonit/rotate.sh
    I/O warning : failed to load external entity «/etc/php-fpm.conf»
    Sep 16 20:13:12.400029 [ERROR] fpm_conf_init_main(), line 522: failed to load configuration file: failed to parse conf file

    Последний раз редактировалось Help; 17.09.2010 в 02:04.


  6. 17.09.2010, 02:33

    #6

    По умолчанию

    мониторинг запускает php /usr/bin/php и у вас он работает. Что-то с конфигом, с fpm я не работал.

    Стоит один раз попробовать что бы влюбиться… в ISP.

    На все мои сообщения, действует конфигурация сервера: ISP Pro (всегда актуальная current версия), FreeBSD 8.0, php as fcgi, nginx+apache.

    Бесплатные плагины для ISPmanager.


  7. 17.09.2010, 16:05

    #7

    Help вне форума


    Senior Member


    По умолчанию

    На одном сервере, как раз где ставил стоит PHP 5.3.2
    из-за этого может быть ?

    Ща попробую поставить на пхп 5.2


  8. 18.09.2010, 01:56

    #8

    ls вне форума


    ISPsystem team

    Аватар для ls


    По умолчанию

    У вас PHP собран с php-fpm (5.3.2 как раз с ним вроде из коробки начинает в линуксах работать), конфиг /etc/php-fpm.conf или отсутствует или сломан, надо создать/исправить его и все будет в порядке.


  9. 19.01.2011, 17:18

    #9

    joint вне форума


    Member


    Thumbs up

    Цитата Сообщение от ls
    Посмотреть сообщение

    Попробуйте через веб запускать, как

    Код:

    /usr/local/bin/wget -O /dev/null http://site.ru/path/to/file.php

    Действительно, Exited with return code = 255 не выводится более,
    если использовать в Cron выше предложенную команду ‘wget’
    PHP=5.3.5

    Спасибо!


  10. 20.09.2011, 23:16

    #10

    Aquariuscrimea вне форума


    Member


    По умолчанию

    сейчас получаю такую же ошибку как и автор.
    на wget не хочу переходить, т.к. мне надо получать на e-mail Отчет который выдает мой скрипт, а так приходит только отчет wgetа что он успешно скачал файл в /dev/null.

    Скрипт у меня 100% рабочий, т.к. при запуске по расписанию он срабатывает и отчет приходит и все гуд. но если я пытаюсь его запустить через ispmanager вручную получаю 255 ошибку. И так 5 скриптов.



Ошибка Cron Exited with return code = 255

22.12.2016

Для интеграции Битрикс со сторонним сервисом потребовалось сделать на надежном хостинге reg.ru cron. Применял два разных крона:
/opt/php/5.3/bin/php-cgi -f /var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php

/opt/php/5.5/bin/php-cgi -c /var/www/u026…./data/php-bin/php.ini -f var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php

В каждом случае при попытке выполнить крон вручную выдает ошибку «Exited with return code = 255»:

oshibka-krona
Что может быть не так?
Для запуска крона в панели управления без ошибок потребовалась корректировка заданий планировщика. Рабочие кроны выглядят следующим образом:

/opt/php/5.5/bin/php -c /var/www/u026…/data/php-bin/php.ini -f /var/www/u026…/data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php

/opt/php/5.5/bin/php -f /var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php

Ещё статьи:

18.01.2023
Нюансы перехода битрикс на РНР 8.0
С февраля битрикс прекращает поддерживать РНР 7.4 и в битрикс сегменте сайтов начался переход на РНР 8 для получения обновлений.
Но без нюансов и ошибок…
ID: 431

10.01.2023
БУС окончательно всё?
Появилась информация от битрикс, что грубо говоря поддержка по отраслевому медицинскому решению от битрикс будет до 1 февраля 2024 года, а что потом б…
ID: 426

30.08.2022
Типовые претензии к подрядчику и к битрикс
По свежим следам я собрал типовые претензии к подрядчику и к битрикс. Мной был проведён аудит и я увидел, что техническое состояние сайта хорошее, нареканий…
ID: 338

Новые статьи в блоге:

Возврат к списку

Модераторы: Art.i, garry

cron: Exited with return code = 255

id
 
Сообщений: 9
Зарегистрирован: Чт июл 30, 2009 10:23 pm

Сообщение ls » Ср дек 23, 2009 1:02 pm

ls
Support team
 
Сообщений: 6352
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Сообщение id » Ср дек 23, 2009 2:18 pm

id
 
Сообщений: 9
Зарегистрирован: Чт июл 30, 2009 10:23 pm

Сообщение nejlok » Вт апр 06, 2010 8:35 pm

столкнулся с подобным вопросом,

ошибки возникают 1,2, 127,126..

у кого нибудь получилось настроить планировщик?

nejlok
 
Сообщений: 10
Зарегистрирован: Вт мар 23, 2010 11:16 pm

Сообщение ls » Вт апр 06, 2010 8:42 pm

ls
Support team
 
Сообщений: 6352
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Сообщение nejlok » Вт апр 06, 2010 9:03 pm

nejlok
 
Сообщений: 10
Зарегистрирован: Вт мар 23, 2010 11:16 pm

Сообщение dmitrik » Вс апр 18, 2010 2:22 pm

подскажите как правильную команду прописать в крон?

wheris php показывает

/usr/bin/php /etc/php /etc/php.ini /etc/php.d /usr/share/php /usr/share/man/man1/php.1.gz

физически файл лежит тут

/var/www/USER/data/www/SITENAME/cron.php

dmitrik
 
Сообщений: 1
Зарегистрирован: Вс апр 18, 2010 2:12 pm
  • Сайт
  • ICQ

Сообщение tont » Вс апр 18, 2010 2:41 pm

tont
 
Сообщений: 325
Зарегистрирован: Сб фев 24, 2007 8:07 pm
Откуда: г. Хизаши Мухосранской области
  • Сайт
  • ICQ

Сообщение ls » Вс апр 18, 2010 3:47 pm

ls
Support team
 
Сообщений: 6352
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS


Вернуться в Любые вопросы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Добрый день, уважаемые форумчане. Подскажите, пожалуйста, начинающему администратору.
Имеется хостинг на бэгете.
При запуске скрипта /admin/cli/cron.php выдается ошибка 255.
Версия moodle 3.11+(2021051700.09)

В чем может быть проблема?
В системе зависли файлы в процессе удаления и тд. HELP!!

Приложение wt59pac9RuE.jpg

Никогда не было проблем с cron на Бегете, поэтому опробовал воспроизвести. Ошибка 255 возникает когда версия php указана не верно. Версия для сайта и в команде должны совпадать.

Спасибо огромное, что откликнулись!
Проверила, версия php совпадает с той, что на сайте.
Прилагаю текст ошибки.

Подскажите, пожалуйста, что я могу делать неправильно?

Гм. У вас wget https:///admin/cron.php выполняется без ошибки.
Зачем пытаться выполнять wget https:///public_html/admin/cron.php ? Это же явная ошибка!

Вам нужно определиться как вы запускаете cron.php: либо в виде обращения к сайту через cron, либо запуск скрипта через cron.
Делать и то, и другое — бесмысленно.

У вас на картинке видна возможность выполнить php-скрипт. А где видны результаты выполнения скрипта ?

В приложенном файле ошибка — недостаточно памяти (Allowed memory size of 536870912 bytes exhausted). Нужно увеличить лимит… На хостинге через htaccess — php_value memory_limit

Иногда при пересоздании конфигурационных файлов при использовании FreePBX возможно появление ошибки с кодом 255. В статье рассмотрим, как исправить эту ошибку. Что это за ошибка? Текст ошибки начинается со следующей строки: Данная ошибка возникает при применении каких-либо изменений во FreePBX. В web-интерфейсе ошибка выглядит следующим образом: Также покажем ошибку при использовании fwconsole (подробнее о fwconsole можно прочитать в […]

Ошибка 255 в retrieve_conf во FreePBX. Исправление.

Иногда при пересоздании конфигурационных файлов при использовании FreePBX возможно появление ошибки с кодом 255. В статье рассмотрим, как исправить эту ошибку.

Что это за ошибка?

Текст ошибки начинается со следующей строки:

Unable to continue. Cron line added didn’t remain in crontab on final check in /var/www/html/admin/libraries/BMO/Cron.class.php on line 114

Данная ошибка возникает при применении каких-либо изменений во FreePBX. В web-интерфейсе ошибка выглядит следующим образом:

Ошибка 255 в retrieve_conf из web-интерфейса

Ошибка 255 в retrieve_conf из web-интерфейса

Также покажем ошибку при использовании fwconsole (подробнее о fwconsole можно прочитать в статье):

Ошибка 255 в retrieve_conf при использовании fwconcole

Ошибка 255 в retrieve_conf при использовании fwconcole

Обратите внимание, что данная ошибка имеет отношение исключительно к web-интерфейсу. Вы можете внести изменения в конфигурационные файлы Asterisk и применить их, выполнив в Asterisk CLI команду core reload.

Эта ошибка связана с тем, что при пересоздании файлов конфигурации в crontab может попасть символ, который к нему не имеет никакого отношения. Соответственно работа crontab после этого останавливается, и применить последние правки с помощью FreePBX становится невозможным.

Подробнее рассмотрим взаимосвязь FreePBX и crontab при reload.

Reload во FreePBX – это часть web-интерфейса, которая происходит при нажатии кнопки Apply Config. При этом происходит перезапись тех конфигурационных файлов, которые относятся исключительно к модулям FreePBX. Однако некоторые модули имеют записи в crontab (dashboard, sysadmin, timeconditions, backups).

Например, если в crontab закомментировать строчку

* * * * * [ -x /var/www/html/admin/modules/dashboard/scheduler.php ] && /var/www/html/admin/modules/dashboard/scheduler.php > /dev/null 2>&1

то информация в dashboard перестанет обновляться.

Dashboard FreePBX

Dashboard FreePBX

Также записи в crontab имеет fwconsole. Так одна из записей отвечает за синхронизацию интеграций с внешними сервисами. Пример внешних сервисов можно посмотреть во FreePBX на вкладке Directory в модуле User Management.

Пример внешних сервисов

Пример внешних сервисов

Если подробно рассматривать, как работает reload во FreePBX, то: при нажатии на кнопку Apply Config в ajax.php передаются модуль ($module) и команда ($command).

После Apply Config $module = framework, а $command = reload.

Далее значения framework и reload транслируются в Ajax.class.php, откуда они будут переданы в Framework.class.php. В Framework.class.php вызывается функция do_reload — functions.inc.php. В свою очередь именно эта функция вызывает retrieve_conf.

Retrieve_conf занимается пересборкой всех конфигурационных файлов, а также контролирует crontab.

Касательно нашей ошибки: все задания, указанные в crontab, были отработаны, однако не смог перезаписаться именно crontab. Это связано с тем, что FreePBX перезаписывает crontab его же стандартными средствами. Наглядно это продемонстрировать можно, если открыть crontab командой

crontab -e

Далее впишем в первую строку, например, «@» и попытаемся сохранить изменения.

Попытка сохранить изменения в crontab

Попытка сохранить изменения в crontab

Соответственно так может продолжаться до бесконечности, пока не будет нажата N, или же пока не будут убраны из crontab нечитаемые символы. Именно с таким поведением и сталкивается FreePBX, и из-за этого и появляется ошибка 255 в retrieve_conf.

Решением данной ошибки, помимо удаления из него нечитаемых символов, может служить обнуление crontab с помощью команды:

echo > /var/spool/cron/asterisk

Обратите внимание, что при обнулении crontab задание на автоматическое бэкапирование системы не добавляется. 

Для того чтобы автоматическое бэкапирование системы снова работало, нужно перейти во FreePBX в модуль Backup & Restore, выбрать любой бэкап и нажать кнопку Save.

На этом статья по исправлению ошибки 255 в retrieve_conf во FreePBX завершена.

Раздел CronTab (Задания по расписанию) служит для настройки выполнения команд по расписанию или в строго назначенное время, а также для немедленного запуска скриптов. Раздел содержит 3 вкладки: Мастер заданий, Составить задание вручную и Запустить скрипт.

Сконфигурировать CronTab можно таким образом, что задача будет выполняться раз в месяц, день, час и ежеминутно или, например, каждые 10 минут. Также можно комбинировать расписания, к примеру, вам необходимо первые 2 часа выполнять задание раз в час, затем следующие 2 часа не выполнять.

Обратите внимание!

Вы можете получать уведомления о выполненном задании на электронную почту. Настроить эту опцию можно во вкладке Мастер заданий.

Мастер заданий

С помощью мастера заданий вы легко сможете настроить время выполнения скриптов и произвольных команд.

Сначала выберите тип выполняемой операции:

  • Произвольная команда;
  • PHP-скрипт версий 5.2-7.4;
  • Запрос по протоколу HTTP
  • Запрос по протоколу HTTPS
  • Perl-скрипт;
  • Bash-скрипт.

После указания нужного типа операции нужно указать путь к исполняемому скрипту или вписать команду вручную.  Для быстрого и удобного указания путей к PHP-, Perl- и Bash-скриптам вы можете воспользоваться проводником , расположенным рядом с кнопкой .

Когда нужный скрипт будет выбран вы можете нажать на кнопку и проверить работоспособность скрипта. Вам будет выведено окно с логом работы скрипта следующего вида:

В верхней части модального окна расположен статус выполнения скрипта. Если скрипт выполняется исправно, вы увидите надпись Выполнено , а если скрипт завершается с ошибкой, вы увидите цифровой код ошибки.

После проверки кода на работоспособность можно приступать к настройке временных опций исполнения скрипта. Crontab предлагает настройки для 4 временных групп: минут, часов, дней, месяцев. При нажатии на каждую группу раскрываются опции настройки, как это показано на скриншоте:

После настройки временных опций и нажатия на кнопку Добавить задание, под основным окном Cron появится запись с вашей конфигурацией. Количество таких записей не ограничено.

Задание можно включить/выключить, изменить или удалить с помощью кнопок, расположенных справа, напротив каждого из заданий:

— включить/выключить задание;

— изменить задание;

— удалить задание.

Ручная настройка CronTab

Ручная настройка CronTab позволяет настраивать время запуска скрипта в привычном виде, для тех, кто знаком с Cron.

Время, интервал

Минуты могут быть от 0 до 59

Часы могут быть от 0 до 23

День месяца может быть от 1 до 31

Месяц может быть 1 до 12

День недели может быть от 0 до 7, где 0 и 7 — воскресенье

Можно конфигурировать CronTab для выполнения задач не только в определенное время, но и ежеминутно, ежечасно, ежедневно, еженедельно или ежемесячно, используя комбинацию */x.

Примеры настройки временных интервалов

*/5 * * * * — запускать команду каждые пять минут

0 */3 * * * — запускать каждые три часа

0 12-16 * * * — запускать команду каждый час с 12 до 16 (в 12, 13, 14, 15 и 16)

0 12,16,18 * * * — запускать команду каждый час в 12, 16 и 18 часов

*/1 * * * * /usr/bin/php ~/site.ru/public_html/test.php — запуск каждую минуту php-скрипта test.php

0 */1 * * * /usr/bin/perl ~/site.ru/public_html/test.pl — запуск каждый час perl-скрипта test.pl

Команда

Необходимо задать путь до скрипта от домашнего каталога. Например: public_html/cgi-bin/script.pl

Система сама подставит символ ~/ (эта комбинация заменяет полный путь). Получится: ~/public_html/cgi-bin/script.pl

Если в конце пути поставить символ & (амперсанд), то скрипт будет работать в фоновом режиме. Установка этого символа необязательна.

Обратите внимание!

В ряде случаев требуется выбрать версию PHP отдельно: /usr/local/bin/phpX.X или /usr/local/php-cgi/X.X/bin/php-script. Если для сайта установлена иная версия PHP, следует указать вместо X.X требуемую версию, например, 5.6, или актуальную для решения текущей задачи. Версия PHP, установленная для сайта (через раздел Сайты в панели управления), не учитывается при запуске РНР скриптов через Crontab или терминал.

Директивы PHP следует указывать отдельно, после флага -d. Например: /usr/local/bin/php5.6 -d display_errors=1 script.php

Запустить скрипт

В случаях когда необходимо запустить скрипт немедленно или проверить правильность его исполнения вы можете воспользоваться формой запуска скриптов и команд, расположенной в разделе Запустить скрипт.

Работает форма аналогично строке проверки скриптов, расположенной во вкладке Мастер заданий. Под формой запуска скриптов расположена таблица со списком выполненных команд, датой и временем исполнения задания и статусами.

Напротив каждой команды в таблице есть кнопка запуска команды повторно . Это удобно, когда вам нужно повторно выполнить какую-нибудь команду введенную ранее.


Недавно я скомпилировал бинарный файл PHP 5.2.9 и попытался выполнить с ним несколько скриптов PHP. Я могу выполнить некоторые сценарии без проблем, но один из них останавливает их выполнение на полпути, выходя без ошибок или предупреждений. Возвращенный код состояния процесса — 255.

Я прочитал в руководстве, что такой статус «зарезервирован». Вопрос: для чего?

Я полагаю, что это как-то связано с отсутствующими зависимостями в исполняемом файле PHP, но я не уверен.

Кто-нибудь знает, что означает код выхода 255?

PS В скриптах PHP ошибок нет, они нормально работают на других машинах.

Ответы:


255 — ошибка, я мог воспроизвести тот же код завершения, имея фатальную ошибку.

Это означает, что ваши отчеты об ошибках скрыты, для этого есть несколько возможных причин:

  • error_reporting не определен и php не сообщает об ошибке вообще
  • @(Ошибка подавления оператора) скрывает выход ошибки
  • STDERR перенаправляется куда-то еще (php -f somefile.php 2> / dev / null, удалить перенаправление)
  • Это может быть внутренней ошибкой из-за отсутствия зависимостей и того, что фатальная ошибка имеет тот же код завершения, что и сбой программы.


Это может также означать , что /etc/php5/cli/php.ini(в Debian / Ubuntu) или /etc/php.ini(на RHEL / CentOS / др.) Есть display_errors = Offэто означает , что любые ошибки или предупреждения из сценариев командной строки никуда не уйдут, если log_errors = On(см также error_logпараметр).

Попробуйте запустить ваши скрипты с помощью скрипта-обертки, который использует php -d display_errors=on ...




Это может быть вызвано подавленными сообщениями об ошибках PHP (строка начинается с @). Я нашел строку по

grep -r "@" src/ 

а затем закомментировал @. После этого я получил реальную ошибку и смог легко ее исправить. После этого я также заметил, что PHPStorm уже обнаружил ту же ошибку, но я ее не исправил / не заметил.


Это также может означать, что

  • /etc/php5/cli/php.ini (в Debian / Ubuntu)

  • /etc/php.ini (на RHEL / CentOS / и т. д.)

установил

display_errors = Off 

Это означает, что любые ошибки или предупреждения из сценариев командной строки никуда не денутся, если только

log_errors = On 

Смотрите также параметр error_log.

Попробуйте запустить ваши сценарии с помощью оболочки


В моем случае это была смерть xDebug из-за низкой xdebug.max_nesting_levelстоимости.

Понравилась статья? Поделить с друзьями:
  • Ошибка 301 машины
  • Ошибка 25472 селектор
  • Ошибка 2546 фольксваген
  • Ошибка 2178 тигуан
  • Ошибка 2178 ситроен с4 ep6