php教程 php手册 Centos5.8 安装 PHP5.5 和 memcached

Centos5.8 安装 PHP5.5 和 memcached

Jun 06, 2016 pm 07:41 PM
memcached 설치하다

安装GIT 需要先安装gcc-c++ (sudo yum install gcc-c++) sudo yum install gettext-devel expat-devel cpio perl openssl-devel zlib-devel wget https://www.kernel.org/pub/software/scm/git/git-1.9.0.tar.gz tar -zxvf git-1.9.0.tar.gz cd git-1.9.0 ./

安装GIT

需要先安装gcc-c++ (sudo yum install gcc-c++)
sudo yum install gettext-devel expat-devel cpio perl openssl-devel zlib-devel
wget https://www.kernel.org/pub/software/scm/git/git-1.9.0.tar.gz
tar -zxvf git-1.9.0.tar.gz
cd git-1.9.0
./configure
sudo make
sudo make install
git -version

Install memcached

sudo yum install libevent-devel
wget http://www.memcached.org/files/memcached-1.4.17.tar.gz
tar -zxvf memcached-1.4.17.tar.gz
./configure -prefix=/opt/memcache
sudo make
sudo make install
sudo cp scripts/memcached.sysv /etc/rc.d/init.d/memcached
sudo vim /etc/rc.d/init.d/memcached

Two places need change:
==1======
PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=64
OPTIONS=””

==2======
start () {
echo -n $”Starting $prog: ”
# insure that /var/run/memcached has proper permissions
chown $USER /opt/memcache/bin/memcached
daemon /opt/memcache/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $M
AXCONN -P /opt/memcache/bin/memcached/memcached.pid $OPTIONS

Add user memcached before starting memcached service:
sudo /usr/sbin/groupadd memcached
sudo /usr/sbin/useradd -g memcached memcached
sudo passwd memcached

安装PHP5.5

yum -y install bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel libmcrypt libmcrypt-devel libxml2-devel

(mysql是编译安装的)
./configure -prefix=/opt/php -with-apxs2=/opt/apache2/bin/apxs -with-libxml-dir=/usr/lib64 -with-mysql=/opt/mysql -with-mysqli=/opt/mysql/bin/mysql_config -with-gd -enable-gd-native-ttf -with-zlib -with-mcrypt -with-pdo-mysql=/opt/mysql -enable-shmop -enable-soap -enable-sockets -enable-wddx -enable-zip -with-xmlrpc -enable-fpm -enable-mbstring -with-zlib-dir -with-bz2 -with-curl -enable-exif -enable-ftp -with-jpeg-dir=/usr/lib64 -with-png-dir=/usr/lib64 -with-freetype-dir=/usr/lib64

or
(mysql是通过官方提供的rpm 安装的情况, 注意安装的rpm除了server外, client, share, devel都要装, 最后一个 -with-mysql –with-libdir=/usr/lib64 费了我好久才试成功)
./configure -prefix=/opt/php -with-apxs2=/usr/sbin/apxs -with-libxml-dir=/usr/lib64 -with-pdo-mysql=/usr/bin/mysql -with-mysqli=/usr/bin/mysql_config -with-mysql –with-libdir=/usr/lib64 -with-gd -enable-gd-native-ttf -with-zlib -with-mcrypt -enable-shmop -enable-soap -enable-sockets -enable-wddx -enable-zip -with-xmlrpc -enable-fpm -enable-mbstring -with-zlib-dir -with-bz2 -with-curl -enable-exif -enable-ftp -with-jpeg-dir=/usr/lib64 -with-png-dir=/usr/lib64 -with-freetype-dir=/usr/lib64

如果使用centos5.8 自带的apache2.2, 找不到apxs的, 可以安装 yum install httpd-devel

sudo make
sudo make install

看以下输出, libphp5.so已经被添加到httpd 的modules目录, 另外已经更新了httpd.conf
####################
Installing PHP SAPI module: apache2handler
/usr/lib64/httpd/build/instdso.sh SH_LIBTOOL=’/usr/lib64/apr-1/build/libtool’ libphp5.la /usr/lib64/httpd/modules
/usr/lib64/apr-1/build/libtool –mode=install cp libphp5.la /usr/lib64/httpd/modules/
cp .libs/libphp5.so /usr/lib64/httpd/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib64/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool –finish /home/milton/backup/php-5.5.13/libs’
chmod 755 /usr/lib64/httpd/modules/libphp5.so
[activating module `php5' in /etc/httpd/conf/httpd.conf]
####################

在/etc/httpd/conf.d 下添加 php.conf, 写入如下几行:
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
DirectoryIndex index.php

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

重启httpd

sudo cp /data/backup/php-5.4.26/php.ini-production /opt/php/etc/php.ini
上面这个不对, 如果不指定路径(-with-config-file-path=/opt/php/etc )的话, 从phpinfo可以看到, 这个路径是指向/opt/php/lib的, 所以得放到/opt/php/lib下去, 否则后面的修改不起作用

额外的, sudo vim conf/httpd.conf 做适当修改(已经改在 php.conf里的就不用改了)

1. 添加php支持。

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

2. 添加默认索引页面index.php,再找到“DirectoryIndex”,在index.html后面加上“ index.php”

DirectoryIndex index.html index.php

3. 不显示目录结构,找到“Options Indexes FollowSymLinks”,修改为

Options FollowSymLinks

4. 开启Apache支持伪静态,找到“AllowOverride None”,修改为

AllowOverride All

httpd开启非80端口

因为有selinux的限制, 会出现类似于
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:10080
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:10080
no listening sockets available, shutting down
Unable to open logs
的错误,
可以通过 sudo /usr/sbin/semanage port -l 查看当前的端口状态
(查看selinux是否启用: sudo /usr/sbin/sestatus)
(查看selinux状态: sudo /usr/sbin/getenforce)
(设置selinux状态: sudo /usr/sbin/setenforce 0 or 1)
通过
semanage port -a -t http_port_t -p tcp 10080
添加, 系统提示 /usr/sbin/semanage: Port tcp/10080 already defined
查看
sudo /usr/sbin/semanage port -l |grep 10080
amanda_port_t tcp 10080, 10081, 10082, 10083
amanda_port_t udp 10080, 10081
再换一个
semanage port -a -t http_port_t -p tcp 10088

安装memcached php扩展

sudo yum install gcc44 gcc44-c++ libstdc++44-devel
这几个必须装, 否则 libmemcached 在make的时候会报错 ( error: cinttypes: No such file or directory)

先安装 libmemcached (这是一个memcache的客户端类库, 编译pecl memcached的时候要用到)
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
CC=gcc44 CXX=g++44 ./configure // 这里把编译器换成 gcc44
sudo make
sudo make install

sudo yum install cyrus-sasl-devel

sudo yum install autoconf
这个必须装, 因为phpize 要用到

wget http://pecl.php.net/get/memcached-2.1.0.tgz
tar -zxvf memcached-2.1.0.tgz
cd memcached-2.1.0
/opt/php/bin/phpize
./configure -enable-memcached -with-php-config=/opt/php/bin/php-config -with-libmemcacheddir=/usr/local/lib
上面的是错的, 妈的试了半天, 参数不对以外, 这个目录也有讲究, 必须包含的文件是: include/libmemcached/memcached.h (注意路径!), 不然会报错: error: Can’t find libmemcached 1.0.x headers
下面的才是对的:
./configure -enable-memcached -with-php-config=/opt/php/bin/php-config -with-libmemcached-dir=/usr/local/

然后是make, make install,
完成后打开 /opt/php/lib/php.ini, 找到
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = “./”
上面这行取消注释, 换成make install结束时提供的路径, 一般是 extension_dir = “/opt/php/lib/php/extensions/no-debug-non-zts-20121212/”
然后在一系列的extension=XXX.dll 后面添加
extension=memcached.so

重启httpd后发现memcached没有启用, 查看httpd的error_log, 发现
PHP Warning: PHP Startup: Unable to load dynamic library ‘/opt/php/lib/php/extensions/no-debug-non-zts-20121212/memcached.so’ – /opt/php/lib/php/extensions/no-debug-non-zts-20121212/memcached.so: failed to map segment from shared object: Permission denied in Unknown on line 0
这是因为selinux安全设置引起的错误
关闭selinux ( sudo /usr/sbin/setenforce 0) 后再重启httpd, memcached就可以用了.
解决办法, 参考 http://www.sysarchitects.com/apc_on_rhel5
查看so文件的安全信息:
ls -Z /opt/php/lib/php/extensions/no-debug-non-zts-20121212/
-rwxr-xr-x root root user_u:object_r:usr_t memcached.so
重置:
sudo /sbin/restorecon /opt/php/lib/php/extensions/no-debug-non-zts-20121212/memcached.so
再次查看
ls -Z /opt/php/lib/php/extensions/no-debug-non-zts-20121212/
-rwxr-xr-x root root system_u:object_r:lib_t memcached.so
-rwxr-xr-x root root user_u:object_r:usr_t opcache.a
-rwxr-xr-x root root user_u:object_r:usr_t opcache.so
启用selinux
sudo /usr/sbin/setenforce 1
再次重启httpd, 就可以用了

启用OPcache
因为PHP5.5开始, opcache已经是默认安装的cache模块, 用于取代apc, 只是未启用
需要在php.ini 中添加
zend_extension=/opt/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
注意必须用zend_extension
重启httpd时依然会碰到上面的Permission denied in Unknown on line 0问题, 一样的用restorecon处理就好了.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제에 대한 해결 방법 Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제에 대한 해결 방법 Mar 09, 2024 am 09:48 AM

Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제 해결 Windows 11 시스템이 출시되면서 많은 사용자들이 새로운 기능과 인터페이스를 경험하기 위해 운영 체제를 업그레이드하기 시작했습니다. 그러나 일부 사용자는 업그레이드 후 중국어 언어 팩을 설치할 수 없어 경험에 문제가 있다는 사실을 발견했습니다. 이 기사에서는 Win11 시스템이 중국어 언어 팩을 설치할 수 없는 이유에 대해 논의하고 사용자가 이 문제를 해결하는 데 도움이 되는 몇 가지 솔루션을 제공합니다. 원인 분석 먼저 Win11 시스템의 무능력을 분석해 보겠습니다.

VirtualBox에 게스트 추가 기능을 설치할 수 없습니다 VirtualBox에 게스트 추가 기능을 설치할 수 없습니다 Mar 10, 2024 am 09:34 AM

OracleVirtualBox의 가상 머신에 게스트 추가 기능을 설치하지 못할 수도 있습니다. Devices>InstallGuestAdditionsCDImage를 클릭하면 아래와 같이 오류가 발생합니다. VirtualBox - 오류: 가상 디스크를 삽입할 수 없습니다. C: 우분투 시스템에 FilesOracleVirtualBoxVBoxGuestAdditions.iso 프로그래밍 이 게시물에서는 어떤 일이 발생하는지 이해합니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. Virtua에 설치할 수 없는 경우

Baidu Netdisk를 성공적으로 다운로드했지만 설치할 수 없는 경우 어떻게 해야 합니까? Baidu Netdisk를 성공적으로 다운로드했지만 설치할 수 없는 경우 어떻게 해야 합니까? Mar 13, 2024 pm 10:22 PM

바이두 넷디스크 설치 파일을 성공적으로 다운로드 받았으나 정상적으로 설치가 되지 않는 경우, 소프트웨어 파일의 무결성에 문제가 있거나, 잔여 파일 및 레지스트리 항목에 문제가 있을 수 있으므로, 본 사이트에서 사용자들이 주의깊게 확인해 보도록 하겠습니다. Baidu Netdisk가 성공적으로 다운로드되었으나 설치가 되지 않는 문제에 대한 분석입니다. 바이두 넷디스크 다운로드에 성공했지만 설치가 되지 않는 문제 분석 1. 설치 파일의 무결성 확인: 다운로드한 설치 파일이 완전하고 손상되지 않았는지 확인하세요. 다시 다운로드하거나 신뢰할 수 있는 다른 소스에서 설치 파일을 다운로드해 보세요. 2. 바이러스 백신 소프트웨어 및 방화벽 끄기: 일부 바이러스 백신 소프트웨어 또는 방화벽 프로그램은 설치 프로그램이 제대로 실행되지 않도록 할 수 있습니다. 바이러스 백신 소프트웨어와 방화벽을 비활성화하거나 종료한 후 설치를 다시 실행해 보세요.

Linux에 Android 앱을 설치하는 방법은 무엇입니까? Linux에 Android 앱을 설치하는 방법은 무엇입니까? Mar 19, 2024 am 11:15 AM

Linux에 Android 애플리케이션을 설치하는 것은 항상 많은 사용자의 관심사였습니다. 특히 Android 애플리케이션을 사용하려는 Linux 사용자의 경우 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 익히는 것이 매우 중요합니다. Linux에서 직접 Android 애플리케이션을 실행하는 것은 Android 플랫폼에서만큼 간단하지는 않지만 에뮬레이터나 타사 도구를 사용하면 여전히 Linux에서 Android 애플리케이션을 즐겁게 즐길 수 있습니다. 다음은 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 소개합니다.

Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Ubuntu 24.04에서 Ubuntu Notes 앱을 설치하고 실행하는 방법 Mar 22, 2024 pm 04:40 PM

고등학교에서 공부하는 동안 일부 학생들은 매우 명확하고 정확한 필기를 하며, 같은 수업을 받는 다른 학생들보다 더 많은 필기를 합니다. 어떤 사람들에게는 노트 필기가 취미인 반면, 어떤 사람들에게는 중요한 것에 대한 작은 정보를 쉽게 잊어버릴 때 필수입니다. Microsoft의 NTFS 응용 프로그램은 정규 강의 외에 중요한 메모를 저장하려는 학생들에게 특히 유용합니다. 이 기사에서는 Ubuntu24에 Ubuntu 애플리케이션을 설치하는 방법을 설명합니다. Ubuntu 시스템 업데이트 Ubuntu 설치 프로그램을 설치하기 전에 Ubuntu24에서 새로 구성된 시스템이 업데이트되었는지 확인해야 합니다. 우분투 시스템에서 가장 유명한 "a"를 사용할 수 있습니다

Ubuntu 24.04에 Podman을 설치하는 방법 Ubuntu 24.04에 Podman을 설치하는 방법 Mar 22, 2024 am 11:26 AM

Docker를 사용해 본 적이 있다면 데몬, 컨테이너 및 해당 기능을 이해해야 합니다. 데몬은 컨테이너가 시스템에서 이미 사용 중일 때 백그라운드에서 실행되는 서비스입니다. Podman은 Docker와 같은 데몬에 의존하지 않고 컨테이너를 관리하고 생성하기 위한 무료 관리 도구입니다. 따라서 장기적인 백엔드 서비스 없이도 컨테이너를 관리할 수 있는 장점이 있습니다. 또한 Podman을 사용하려면 루트 수준 권한이 필요하지 않습니다. 이 가이드에서는 Ubuntu24에 Podman을 설치하는 방법을 자세히 설명합니다. 시스템을 업데이트하려면 먼저 시스템을 업데이트하고 Ubuntu24의 터미널 셸을 열어야 합니다. 설치 및 업그레이드 프로세스 중에 명령줄을 사용해야 합니다. 간단한

solidworks2018 설치 방법-solidworks2018 설치 튜토리얼 solidworks2018 설치 방법-solidworks2018 설치 튜토리얼 Mar 04, 2024 pm 09:00 PM

많은 사용자가 방금 solidworks2018 소프트웨어를 다운로드했지만 여전히 solidworks2018 설치 방법을 모르십니까? 다음으로, 관심 있는 사용자는 아래에서 solidworks2018 설치 튜토리얼을 확인할 수 있습니다. 1. 다운로드한 소프트웨어를 연 다음 _SolidSQUAD_ 폴더를 찾고 내부에서 SolidWorks.2017-2018.Activator.SSQ 파일을 찾아 두 번 클릭하여 열면 다음 인터페이스가 나타납니다. 첫 번째 항목을 차례로 클릭합니다. , 오른쪽 아이콘 항목, 마지막으로 아래 동의 버튼을 클릭하면 다음과 같은 팝업 창이 나타납니다. YES를 클릭하고 대화 상자에서 확인을 클릭하면 팝업 창이 계속됩니다. 2. 그런 다음 클릭합니다.

creo-creo 설치 튜토리얼 설치 방법 creo-creo 설치 튜토리얼 설치 방법 Mar 04, 2024 pm 10:30 PM

많은 초보 친구들은 아직 creo 설치 방법을 모르므로 아래 편집기에서 creo 설치에 대한 관련 튜토리얼을 가져오면 도움이 될 것입니다. 1. 다운로드한 설치 패키지를 열고 아래 그림과 같이 License 폴더를 찾습니다. 2. 그런 다음 아래 그림과 같이 C 드라이브의 디렉터리에 복사합니다. 3. 두 번 클릭하여 입력하고 라이센스가 있는지 확인합니다. 아래 그림과 같이 라이센스 파일이 있습니다. 그림과 같습니다. 4. 그런 다음 아래 그림과 같이 이 파일에 라이센스 파일을 복사합니다. 5. C 드라이브의 PROGRAMFILES 파일에 새 PLC 폴더를 생성합니다. 6. 라이센스 파일도 복사합니다. 아래 그림과 같이 클릭합니다. 7. 메인 프로그램의 설치 파일을 더블클릭합니다. 설치하려면 새 소프트웨어를 설치하는 확인란을 선택하세요.

See all articles