Производственный сервер:
- Windows 10 pro
- IIS 10.0.17134.1
- версия PHP 7.1.17
Myлокальный компьютер:
- macOS, Mojave 10,14
- Apache / 2.4.37 (Unix)
- PHP версия 7.2.12
На обеих машинах я использую одно и то же приложение laravel 5.4, которое использует один и тот же источник (базу данных) на одном и том же сервере Microsoft SQL, используя sqlsrv PDO, установленный по этой ссылке .
в отчетах. table, is_active filed является типом tinyint.
На компьютере Windows:
$report = App\Report::find(1);
return gettype($report->is_active); //returns string
На компьютере MacOS:
$report = App\Report::find(1);
return gettype($report->is_active); //returns integer
Поэтому, когда я занимаюсь разработкой на своем локальном хосте и запускаю изменения в производство, при базовом сравнении происходит сбой:
if($report->is_active === 1){
// works on localhost, but not on production
}