Я не 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#
По крайней мере, я попробовал некоторые предложения, но это не сработало, поэтому я попробовал это.
Используйте файл 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 в начало.
Не забудьте вызвать скрипт, даже если пользователь не вошел в систему.
Все установлено, и он будет выполняться без проблем.
Вот как это было.
Планировщик Windows -> создать новое задание -> вкладка действия -> Редактировать
Создать планировщик заданий Планировщик-> Действия-> Изменить действие
, если у вас есть 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
Вот как я это сделал.
В поле «Выполнить»: 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
Если ответ , данный Пеккой , не работает (C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php
), убедитесь, что у вас включены правильные расширения PHP, а также правильный файл php.ini
, используемый для версии PHP, которую вы используете. используют.
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"
Используя опцию -c
, вы можете указать, какой файл php.ini
следует использовать ( ] ответ стекового потока ).
Я проверил, какой php использовался, следуя этому ответу stackflow .
В командной строке введите php -m
, чтобы проверить, какие расширения включены. Затем используйте php --ini
, чтобы проверить, какие файлы (файлы) .ini
читаются / читаются PHP.
Возможно, вы не используете правильный ini-файл для используемой версии PHP, если у вас установлено несколько версий.
Чтобы создать планировщик в Windows, вам необходимо:
.bat
на вашем сервере или в системе; .bat
. : “F:\xampp\php\php.exe” -f “F:/xampp/htdocs/sitefolder/test.php”;