Передача параметров из одного PHP в другой на локальном хосте без использования HTTP-запросов, включений или сеансов - PullRequest
0 голосов
/ 13 марта 2020

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

Ссылки структурированы следующим образом: example.com/go.php?d=1234, где 1234 является примером для конкретной ссылки. Пользователь хочет go to.

Прямо сейчас на go.php я использую _GET, а затем перенаправляю пользователя на реальную ссылку (путем поиска в другой таблице БД, чтобы найти соответствующую ссылку для значения d, например 1234.


Я хочу, чтобы отслеживание происходило одновременно, только на стороне сервера, чтобы избежать замедления или подрыва процесса перенаправления пользователя.

Поэтому моя идея состоит в том, чтобы go.php вызывал другой сценарий php на моем локальном хосте - track.php. А внутри track.php сделать INSERT с данными пользователя в другую таблицу БД, поэтому, если что-то не получится с диссертацией, пользователь не будет затронут.

Как я могу передать данные например, идентификатор пользователя и идентификатор ссылки, по которым был выполнен щелчок (и другая информация, которую я собираюсь собрать, например, пользовательский агент, разрешение, страница реферера и т. д. c), в соответствии с этими требованиями?

  • я не могу se session поскольку сеанс хранится на компьютере пользователя, и я не хочу, чтобы пользователь взаимодействовал с этим сценарием, и даже если сеанс хранится на сервере, может быть несколько пользователей, которые будут одновременно нажимать на ссылки и Я думаю, что перезаписать информацию о сеансе.

  • Я не хочу передавать информацию через URL и использовать _GET для ее извлечения, так как я не хочу использовать HTTP-запрос , нет смысла использовать один (скорость и безопасность), если все должно происходить на моем локальном хосте.

  • Я не хочу использовать включение, поскольку, как я уже сказал, если что-либо в коде track.php завершится ошибкой, если оно включено в go.php, это может привести к фатальной ошибке и подорвать процесс перенаправления.

РЕДАКТИРОВАТЬ:

Возможно ли, например, вызвать track.php, так же, как запускаются задания cron?

Например, если можно установить задание cron, например:

php /home/user/backend/track.php user_id=1 link_id=1234 user_agent="mozilla 1.7/85"

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

some-php-function(php /home/user/backend/track.php user_id=1 link_id=1234 user_agent="mozilla 1.7/85")

Так что может быть что-то вроде:

shell_exec(php /home/user/backend/track.php user_id=$u_id link_id=$l_id user_agent="$agent");

...