我想在我的Web应用程序中使用SPLEnum,它是PECL-Extension SPL-Types的一部分。
现在,我从未使用过扩展程序,因此我不知道它们是如何工作的。我已经要求我的托管服务商安装软件包,但由于服务器的安全原因,他们无法安装软件包。
是否有可能手动包含文件,就像在Java中一样(手动将文件复制到网络服务器并包含它们)?
感谢您的回答
问候,Flo
答案 0 :(得分:3)
PECL包含用于编译为PHP的C扩展。因此,您需要在运行PHP的服务器上拥有适当的权限,这是您永远无法在共享主机上获得的。尝试找到类似的PEAR扩展,这些扩展是用PHP编写的,其行为与任何其他PHP文件一样。
答案 1 :(得分:3)
我使用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),这是与共享主机方案的成本大致相同。
答案 2 :(得分:2)
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
答案 3 :(得分:2)
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
;