質問: ### 前提・実現したいこと Laravel5.4のHomestead環境(Windows)で下記のPHP拡張ライブラリを使えるようにしたいです ### 発生している問題・エラーメッセージ Vagrantで作成した仮想開発環境内にtimecopを導入し、php.iniも変更したのですがコード内で timecop_freeze(0); などの関数が使えません。 Laravelの場合は特別な操作をしないと導入できないのでしょうか。 ``` // PhpStormのエラー Declaration of referenced function is not found in built-in library and project files. ``` ### 該当のソースコード ``` var_dump(date("Y-m-d")); // todays date timecop_freeze(0); var_dump(gmdate("Y-m-d H:i:s")); // string(19) "1970-01-01 00:00:00" var_dump(strtotime("+100000 sec")); // int(100000) ``` ### 補足情報(言語/FW/ツール等のバージョンなど) 言語:PHP7 フレームワーク:Laravel5.4 IDE:PhpStorm2017.2
回答: 同じようなところで躓きました。 私の場合は undefine method でしたが。 インストールは以下で行いました。 pecl install timecop-beta Build process completed successfully Installing '/usr/lib/php/20160303/timecop.so' install ok: channel://pecl.php.net/timecop-1.2.10 Extension timecop enabled in php.ini 上記コマンドで自動的に php.ini に extension が追加されます。 /etc/php/7.1/cli/php.ini ここで画面を叩いて試していました。 (※コマンドラインからは成功していた) が、画面からは以下 php.ini にも extension の追加設定が必要でした。 /etc/php/7.1/fpm/php.ini 再起動はお忘れなく。