【问题标题】:Install PECL-Extension "SPL-Types" without server permissions在没有服务器权限的情况下安装 PECL 扩展“SPL-Types”
【发布时间】:2012-01-30 07:57:09
【问题描述】:

我想在我的 Web 应用程序中使用 SPLEnum,它是 PECL 扩展 SPL 类型的一部分。

现在,我从来没有使用过扩展,所以我不知道它们是如何工作的。我已经要求我的托管商安装该软件包,但由于服务器上的安全原因,他们无法安装。

是否可以手动包含文件,就像在 Java 中一样(手动将文件复制到网络服务器并包含它们)?

感谢您的回答

问候,弗洛

【问题讨论】:

    标签: php pecl


    【解决方案1】:

    PECL 包含用于编译成 PHP 的 C 扩展。因此,您需要在运行 PHP 的服务器上拥有适当的权限,而您永远无法在共享主机上获得这些权限。尝试找到一个类似的 PEAR 扩展,它们是用 PHP 编写的,并且行为与任何其他 PHP 文件一样。

    【讨论】:

      【解决方案2】:

      我使用 Ubuntu 14.04 和 Apache 而不是 nginx。使用来自here 的脚本有效。

      sudo apt-get install libpcre3-dev php5-dev php-pear -y
      sudo pecl install SPL_Types
      echo extension=spl_types.so | sudo tee /etc/php5/mods-available/spl_types.ini
      sudo php5enmod spl_types
      sudo service apache2 reload
      

      这与 Michael Noyb 的回答之间的主要区别在于,它继续使用 php5enmod 系统将扩展加载到 Apache 中,您可以read about here

      共享主机

      CodeZombie 的答案是共享主机不允许您这样做,但您可以在 DigitalOcean 之类的东西上以每月 5 美元的价格启动自己的虚拟专用服务器 (VPS),这与共享主机计划。

      【讨论】:

        【解决方案3】:

        Ubuntu 12.04+安装顺序:

        sudo apt-get install libpcre3-dev
        sudo apt-get install php5-dev
        sudo apt-get install php-pear
        sudo pecl install SPL_Types
        

        【讨论】:

          【解决方案4】:

          Ubuntu 14.04 使用 php5-fpm 和 nginx 和 php 5.5+

          sudo apt-get install libpcre3-dev
          sudo apt-get install php5-dev
          sudo pecl install SPL_Types
          

          然后转到/etc/php5/fpm/php.ini并添加此行

          extension=spl_types.so
          

          注意:您可能必须对 /etc/php5/cli/php.ini 执行相同操作

          然后

          sudo service nginx restart
          sudo service php5-fpm restart
          

          然后你可以编写这样的类(我的真实例子):

          <?php
          
          namespace Metronic\Lib;
          
          use SplEnum;
          class PortletColor extends SplEnum {
              const __default = self::YELLOW;
          
              const YELLOW = 'yellow';
          }
          

          当需要调用常量黄色时,使用\Metronic\Lib\PortletColor::YELLOW

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-10
            • 2021-10-15
            • 2021-12-14
            • 1970-01-01
            • 1970-01-01
            • 2012-06-25
            相关资源
            最近更新 更多