我只是对安装扩展的过程感到好奇,因为我试图在Ubuntu上安装php的上传进度扩展。我的usr/目录中有一个默认的php安装,但是我在/opt的另一个位置设置了一个XAMPP服务器(单独的php包)。这是我用来测试的安装。
当我使用命令pecl install uploadprogress时,扩展会自动安装到/usr目录。作为一项测试,我将uploadprogress.so文件从/usr目录php位置中取出,并将其放在我安装XAMPP的opt位置。然后,我修改了XAMPP安装的php.ini,并将扩展放入其中。当我运行phpinfo()时,它显示了已安装的上载进度,但是当上传一个文件时,上传过程函数返回null。
我的问题是,在安装php扩展名时,执行了哪些进程,以及创建和修改了哪些文件?如果我手动下载uploadprogress.tgz并手动编译,它仍然安装到默认目录/usr/local/php5/ext,我认为必须完成更多的工作,而不是只在扩展目录中创建一个.so文件。--如何将扩展安装的位置更改为?--我希望在/opt中的其他XAMPP安装中可以使用扩展。
发布于 2011-07-27 04:49:42
我的问题是,当安装了php扩展名时,完成了哪些进程,以及创建和修改了哪些文件?
这取决于扩展,但通常需要构建和编译扩展。创建临时文件,可以修改配置,编写实际的模块文件(..so/..dll)(至少如此)。
请记住,某些模块在工作之前需要在php.ini中设置某些设置。如果您只复制了.so文件,那么您也应该复制php.ini的相关部分。
如何更改扩展安装到的位置?
您通常会将它编译到要安装它的位置。如果默认位置不是您希望的位置,则可以尝试在构建过程中指定输出目录,并且存在php-config。
发布于 2011-07-27 05:02:57
您希望运行配置-帮助,以查看它为您提供了哪些选项来编译扩展并查找安装目录路径选项。也许这个答案能帮你解决如何从/var/tmp更改默认的Pear/PECL构建文件夹?问题。.so文件是一个特殊的独立库。它从任何链接中删除,基本上是一个对象文件。
https://stackoverflow.com/questions/6838743
复制相似问题