首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP PHP安装

PHP PHP安装
EN

Stack Overflow用户
提问于 2015-02-22 10:44:06
回答 1查看 2.7K关注 0票数 1

我正在尝试实现多个上传功能(同时上传到多个地方)。我在windows (XAMPP + PThreads DLL)上成功地实现了这一点,但是在安装php+php-pel-p线程s.x86_64和扩展线程类时,我得到了错误:

代码语言:javascript
运行
复制
include(Thread.php): failed to open stream: No such file or directory

我尝试添加所有与pthreads.so相关的php.ini:

代码语言:javascript
运行
复制
/usr/lib64/php/modules/pthreads.so
/usr/lib64/php-zts/modules/pthreads.so
/usr/lib64/libpthread.so
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/32/libmudflapth.so
/lib64/libpthread-2.12.so

但我得到了

代码语言:javascript
运行
复制
undefined symbol: core_globals_id in Unknown on line 0

在我的phpinfo中,我看到线程安全被禁用。

是否有人实现了这一功能,并能够说明如何一次上传到多个位置/成功地在linux上安装p线程。

谢谢,丹尼

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-22 16:37:48

代表debian/ubuntu

  1. 下载php源代码(确保您有deb-src)

apt-get source php5

  1. 去那个地方

cd php5*

  1. 转到ext dir

cd ext

  1. 下载线程

git clone https://github.com/krakjoe/pthreads.git

  1. 重新生成配置设置

cd .. && ./buildconf --force

  1. 确保在“配置”选项中有线程。

./configure --help | grep pthre

  1. 运行配置(根据您的设置更改路径)

./configure --enable-debug --enable-maintainer-zts --enable-pthreads --prefix=/usr --with-config-file-path=/etc --with-apxs2=/usr/bin/apxs2 --enable-fpm

  1. 如果需要的话,可以访问获取关于用户/组特定选项的更多信息。

make -j2 make -j2 install

  1. 现在,您将使用p线程支持编译php。核实这一点:

php -m | grep pthreads

  1. 制作init脚本

copy sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

  1. usergroup更改为nginx在/etc/init.d/php-fpm中使用的用户名。

service nginx restart

  1. 去你的nginx公共休息区

cd <your-nginx-public-folder>

  1. touch phpinfo.php && echo "<?php phpinfo();" >> phpinfo.php
  2. 转到浏览器,在http://<your url>/phpinfo.php中搜索刚刚创建的php文件中的线程。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28656924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档