Как мне запустить PHP-скрипт с помощью задачи расписания Windows?

Я не c# разработчик, но в C++ можно использовать API Win32 (конкретно из Wininet.dll) как это:

bool IsInternetConnected( void )
{
    DWORD dwConnectionFlags = 0;

    if( !InternetGetConnectedState( &dwConnectionFlags, 0 ) )
        return false;

    if( InternetAttemptConnect( 0 ) != ERROR_SUCCESS )
        return false;

    return true;
}

я предполагаю, что в это тривиально превращаются c#

27
задан hakre 16 September 2012 в 20:52
поделиться

6 ответов

По крайней мере, я попробовал некоторые предложения, но это не сработало, поэтому я попробовал это.

Используйте файл bat и расписание для запуска этого файла bat.

Например, в файле bat выполните executephp.bat, напишите это

c: \ xampp \ php \ php.exe -fc: \ xampp \ htdocs \ do_something.php

сохранить этот файл bat, содержащий эту строку.

Перейдите в планировщик Windows и создайте новое задание, а на вкладке действия найдите пункт executephp.bat и для запуска в -> прямо в каталог, в котором у вас есть этот executephp.bat.

Например, если вы сохраните файл в C: \ xampp \ htdocs, поместите этот C: \ xampp \ htdocs в начало.

Не забудьте вызвать скрипт, даже если пользователь не вошел в систему.

Все установлено, и он будет выполняться без проблем.

9
ответ дан 28 November 2019 в 04:11
поделиться

Вот как это было.

Планировщик Windows -> создать новое задание -> вкладка действия -> Редактировать

enter image description here

12
ответ дан 28 November 2019 в 04:11
поделиться

Создать планировщик заданий Планировщик-> Действия-> Изменить действие

, если у вас есть php-файл

Program/script: powershell 
Add arguments: curl http://localhost/demo/cron.php

, если у вас есть MVC / CMS URL

Program/script: powershell
Add arguments: curl http://localhost/demo/controller/method
2
ответ дан 28 November 2019 в 04:11
поделиться

Вот как я это сделал.

В поле «Выполнить»: c:\location_of_my_php_installation\php.exe -f c:\location_of_my_php_file\php_file.php

В поле «Запуск в:»: c:\location_of_my_php_installation\php.exe

3
ответ дан 28 November 2019 в 04:11
поделиться

Если ответ , данный Пеккой , не работает (C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php), убедитесь, что у вас включены правильные расширения PHP, а также правильный файл php.ini, используемый для версии PHP, которую вы используете. используют.

1118 Недавно я столкнулся с этой проблемой и решил ее. Я использовал PHP v5.4 для запуска своего script.php, который был вложен в папку PHP верхнего уровня (v5.3). Когда я запустил script.php из папки v5.4, он использовал файл v5.3 php.ini с различными расширениями, что привело к сбою script.php.

Чтобы это исправить, вот что я сделал в Планировщике задач: вкладка Действия

Сценарий программы:

"C:\Program Files (x86)\PHP\v5.4\php.exe"

Добавить аргументы:

-c "C:\Program Files (x86)\PHP\v5.4\php.ini" -f "C:\Xampp\htdocs\script.php"

Task Schedulerer - Actions Script

Используя опцию -c, вы можете указать, какой файл php.ini следует использовать ( ] ответ стекового потока ).

Я проверил, какой php использовался, следуя этому ответу stackflow .

В командной строке введите php -m, чтобы проверить, какие расширения включены. Затем используйте php --ini, чтобы проверить, какие файлы (файлы) .ini читаются / читаются PHP.

Возможно, вы не используете правильный ini-файл для используемой версии PHP, если у вас установлено несколько версий.

1
ответ дан 28 November 2019 в 04:11
поделиться

Чтобы создать планировщик в Windows, вам необходимо:

  1. Создать файл .bat на вашем сервере или в системе;
  2. Введите следующую команду в свой файл .bat. :
    “F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;
  3. Установите время и файл планировщика в планировщике задач в Windows.
0
ответ дан 28 November 2019 в 04:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: