【问题标题】:Enable opcache for locally developed Laravel projects in PhpStorm在 PhpStorm 中为本地开发的 Laravel 项目启用 opcache
【发布时间】:2019-03-22 11:12:47
【问题描述】:

在 PhpStorm 中的 Laravel 项目中开发时如何在本地启用 opcache?

【问题讨论】:

    标签: laravel phpstorm opcache


    【解决方案1】:
    1. 打开运行 -> 编辑配置
    2. 通过展开Defaults创建一个新配置,然后选择PHP Built-in Web Server
    3. 设置以下值:
      • 主机:本地主机
      • 端口:80
      • 文档根目录:选择项目中的公用文件夹
      • 勾选Use router script:并在Laravel的项目根目录中选择server.php
      • 解释器选项:-d zend_extension=php_opcache.dll -d opcache.enable_cli=1 -d opcache.memory_consumption=128 -d opcache.max_accelerated_files=10000 -d opcache.validate_timestamps=0 -d opcache.save_comments=0
    4. 确保您为配置输入了适当的名称(例如Local - with opcache
    5. 点击确定

    这将在程序执行时缓存 PHP 脚本。当前配置不会导致重新缓存失效。所以,现在需要file watchers 来检测何时进行了更改。

    1. 打开文件 -> 设置
    2. 导航到工具 -> 文件观察器
    3. 通过单击绿色加号 (+) 添加新的观察者并选择 <custom>
    4. 文件类型下拉列表中,选择PHP并设置以下值:
      • 范围:项目文件
      • 程序:php
        • 这已经需要在您机器的路径环境中设置,或者您需要设置确切的文件路径
      • 参数:-d zend_extension=php_opcache.dll -d opcache.enable_cli=1 -r "opcache_reset();"
      • 展开高级选项并确保所有复选框UNCHECKED
      • 所有其他默认值就足够了
    5. 为观察者设置一个描述性名称并点击确定

    现在,当调用手动保存时,此观察程序将检测对项目中 PHP 文件所做的任何更改,并使要重建的整个缓存失效。

    对于刀片,重复上述完全相同的步骤。但是,选择 Blade 作为 File type(很明显)。这样可以确保在本地开发时也反映这些更改。

    注意

    • 这直接替换了php artisan serve [--port=80]的用法
    • 这假定 php_opcache.dll 文件已经存在于您的 PHP/ext 文件夹中。否则,请参阅PHP documentation 进行安装。
    • 这些说明是在 Windows 环境中开发的。不过,我确信它们也可以轻松移植到其他操作系统环境。

    【讨论】:

    • 1) 为什么需要这一切?我认为最好不要为本地开发启用它 2) 为什么不在 php.ini 中为整个本地 PHP 安装启用它?或者也许使用自定义配置文件(如果可能的话)? 3)您可以使用单个文件观察器,只需创建包含所有所需文件的自定义范围,然后使用它而不是默认的东西(当你尝试时你会明白我的意思)
    • @LazyOne 1) 因为我参与的一些 Laravel 项目非常庞大,我可以注意到使用它的速度提升。 2)我想默认禁用opcache,以避免与其他项目的配置冲突;当我切换到其他运行配置(例如在本地启用 xdebug)时,这也很有用。 3)很高兴知道。在这种情况下,我会更新答案。
    • @LazyOne 对#3 的后续行动:看了你在说什么之后 - 会避开你的建议,因为在看了我的观察者布局之后,我希望能够激活/停用每种文件类型的观察者。不过,我确实认为您的观点仍然有效。如果它可以完成并且这就是我们想要的,那就去做吧。不过,我想把它分开。
    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 2015-12-18
    • 2018-01-02
    • 1970-01-01
    • 2018-05-15
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多