PHP는 영구적으로 실행되는 프로세스가 아닙니다. 요청 된 경우에만 실행됩니다. 내가 알 수있는 한 Wordpress는 누군가 웹 페이지를로드 할 때만 자체 업데이트 할 수 있습니다. 그러나 업데이트 프로세스는 즉각적이지 않으므로 사이트를 방문하는 사용자는 페이지로드 속도가 느려질 것입니다.
자동 업데이트에 사용하는 다른 방법이 있습니까? 나는 모든 곳을 수색했지만 설명을 찾지 못했습니다.
여기서 찾고있는 시스템을 "WP Cron"이라고합니다. WordPress의 백그라운드 프로세스 시스템으로 이벤트가 일반 처리 외부에서 발생할 수 있습니다. 여전히 시작하기 위해 트리거가 필요하지만 백그라운드 프로세스로 인해 페이지로드를 방해하지 않습니다.
예, 누군가 페이지를로드해야합니다. default-filters.php 파일에서 다음 코드 행을 찾을 수 있습니다.
add_action( 'init', 'wp_cron' );
따라서 모든 페이지로드시 wp_cron 함수가 실행됩니다. 이 함수는 wp-includes / cron.php에서 끝났으며 데이터베이스에서 예약 된 이벤트를 확인하는 것입니다. 백그라운드에서 실행해야하는 프로세스가 있으면 spawn_cron 함수를 호출합니다.
스폰 크론에는 두 가지 가능한 작동 방법이 있지만 가장 일반적이고 가장 흔한 방법은 wp_remote_post 함수를 호출하여 wp-cron.php의 URL에서 다시 연결하는 것입니다. 이 추가 HTTP 요청을 작성하면 실제 작업을 모두 수행하기 위해 다른 PHP 프로세스를 시작합니다. 여기에서 요청은 0.01 초의 시간 초과로 비 차단입니다. 따라서 실제로 결과를 얻지 못합니다. 요청의 목적은 단순히 백그라운드에서 새로운 프로세스를 시작하는 것입니다. 이 작업이 끝나면 단순히 반환되므로 시청하는 사용자는 지연이 없습니다.
wp-cron.php 프로세스는 실제 작업, 업데이트 및 기타 모든 작업을 수행합니다. 워드 프레스의 많은 프로세스는 크론 시스템에 의해 처리됩니다. 예약 된 게시 후 처리, 핑 처리, 업데이트 확인, 정상 흐름 외부에서 발생해야하는 모든 작업을 예약 한 다음 필요에 따라 실행할 수 있습니다.
그러나 예, 사이트에 대한 정상적인 타격은 실제로 프로세스를 시작해야합니다. WordPress.org는 사이트에 직접 연락하지 않고 사이트를 시작하기 때문에 어떤 형태의 트래픽을 수신해야합니다. 모든 형태의 트래픽이 가능합니다.