安装php 带debug

gdb安装包

在CentOS6.4下使用gdb进行调试的时候,

使用bt(breaktrace)命令时,会弹出如下的提示:

头一天提示:

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.i686

问题没解决,第二天提示:

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686

但是直接按提示使用 debuginfo-install glibc-2.12-1.132.el6.i686 去安装的时候会报如下的信息:

Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: mirrors.yun-idc.com
 * extras: mirrors.yun-idc.com
 * updates: mirrors.yun-idc.com
Checking for new repos for mirrors
No debuginfo packages available to install

使用yum来进行安装:

 sudo yum --nogpgcheck --enablerepo=debug install glibc-debuginfo
却提示:Error Downloading Packages:
  glibc-debuginfo-common-2.12-1.132.el6.i686: failure: glibc-debuginfo-common-2.12-1.132.el6.i686.rpm from debug: [Errno 256] No more mirrors to try.
使用yum install glibc安装,发现只是安装了一些基本库,不包含 glibc-debuginfo
后来搜索发现需要先修改“/etc/yum.repos.d/CentOS-Debuginfo.repo”文件的enable=1
文件内容如下:

[plain] view plaincopy

  1. # CentOS-Debug.repo
  2. #
  3. # The mirror system uses the connecting IP address of the client and the
  4. # update status of each mirror to pick mirrors that are updated to and
  5. # geographically close to the client.  You should use this for CentOS updates
  6. # unless you are manually picking other mirrors.
  7. #
  8. # All debug packages from all the various CentOS-5 releases
  9. # are merged into a single repo, split by BaseArch
  10. #
  11. # Note: packages in the debuginfo repo are currently not signed
  12. #
  13. [debug]
  14. name=CentOS-6 - Debuginfo
  15. baseurl=http://debuginfo.centos.org/6/$basearch/
  16. gpgcheck=1
  17. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-6
  18. enabled=1
保存之后,使用 debuginfo-install glibc-2.12-1.132.el6.i686 安装,输出如下:

[plain] view plaincopy

  1. Loaded plugins: fastestmirror, refresh-packagekit
  2. Loading mirror speeds from cached hostfile
  3. * base: mirrors.yun-idc.com
  4. * extras: mirrors.yun-idc.com
  5. * updates: mirrors.yun-idc.com
  6. debug                                                                                                                                 | 2.5 kB     00:00
  7. Checking for new repos for mirrors
  8. --> Running transaction check
  9. ---> Package glibc-debuginfo.i686 0:2.12-1.132.el6 will be installed
  10. --> Processing Dependency: glibc-debuginfo-common = 2.12-1.132.el6 for package: glibc-debuginfo-2.12-1.132.el6.i686
  11. ---> Package nss-softokn-debuginfo.i686 0:3.12.9-11.el6 will be installed
  12. ---> Package yum-plugin-auto-update-debug-info.noarch 0:1.1.30-17.el6_5 will be installed
  13. --> Running transaction check
  14. ---> Package glibc-debuginfo-common.i686 0:2.12-1.132.el6 will be installed
  15. --> Finished Dependency Resolution
  16. Dependencies Resolved
  17. =============================================================================================================================================================
  18. Package                                                Arch                        Version                               Repository                    Size
  19. =============================================================================================================================================================
  20. Installing:
  21. glibc-debuginfo                                        i686                        2.12-1.132.el6                        debug                         10 M
  22. nss-softokn-debuginfo                                  i686                        3.12.9-11.el6                         debug                        1.0 M
  23. yum-plugin-auto-update-debug-info                      noarch                      1.1.30-17.el6_5                       updates                       22 k
  24. Installing for dependencies:
  25. glibc-debuginfo-common                                 i686                        2.12-1.132.el6                        debug                        7.5 M
  26. Transaction Summary
  27. =============================================================================================================================================================
  28. Install       4 Package(s)
  29. Total size: 19 M
  30. Total download size: 8.6 M
  31. Installed size: 93 M
  32. Is this ok [y/N]: y
  33. Downloading Packages:
  34. (1/3): glibc-debuginfo-common-2.12-1.132.el6.i686.rpm                                                                                 | 7.5 MB     12:03
  35. (2/3): nss-softokn-debuginfo-3.12.9-11.el6.i686.rpm                                                                                   | 1.0 MB     01:56
  36. (3/3): yum-plugin-auto-update-debug-info-1.1.30-17.el6_5.noarch.rpm                                                                   |  22 kB     00:00
  37. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  38. Total                                                                                                                         10 kB/s | 8.6 MB     14:10
  39. Running rpm_check_debug
  40. Running Transaction Test
  41. Transaction Test Succeeded
  42. Running Transaction
  43. Installing : glibc-debuginfo-common-2.12-1.132.el6.i686                                                                                                1/4
  44. Installing : glibc-debuginfo-2.12-1.132.el6.i686                                                                                                       2/4
  45. Installing : yum-plugin-auto-update-debug-info-1.1.30-17.el6_5.noarch                                                                                  3/4
  46. Installing : nss-softokn-debuginfo-3.12.9-11.el6.i686                                                                                                  4/4
  47. Verifying  : glibc-debuginfo-common-2.12-1.132.el6.i686                                                                                                1/4
  48. Verifying  : nss-softokn-debuginfo-3.12.9-11.el6.i686                                                                                                  2/4
  49. Verifying  : glibc-debuginfo-2.12-1.132.el6.i686                                                                                                       3/4
  50. Verifying  : yum-plugin-auto-update-debug-info-1.1.30-17.el6_5.noarch                                                                                  4/4
  51. Installed:
  52. glibc-debuginfo.i686 0:2.12-1.132.el6      nss-softokn-debuginfo.i686 0:3.12.9-11.el6      yum-plugin-auto-update-debug-info.noarch 0:1.1.30-17.el6_5
  53. Dependency Installed:
  54. glibc-debuginfo-common.i686 0:2.12-1.132.el6
  55. Complete!
OK,问题解决。

第二次安装总结:
1、需要先修改“/etc/yum.repos.d/CentOS-Debuginfo.repo”文件的enable=1;
2、使用 sudo yum install glibc 安装;
3、使用 debuginfo-install glibc-2.12-1.132.el6.i686 安装。
测试,安装成功。

下面不太好了

yum --nogpgcheck --enablerepo=debug install glibc-debuginfo cyrus-sasl-debuginfo keyutils-debuginfo krb5-debuginfo libselinux-debuginfo libssh2-debuginfo libxml2-debuginfo nspr-debuginfo nss-debuginfo nss-softokn-debuginfo nss-util-debuginfo openldap-debuginfo openssl-debuginfo zlib-debuginfo

rpm -ivh libidn-debuginfo-1.32-1.fc23.x86_64.rpm
http://rpmfind.net/linux/rpm2html/search.php?query=libidn-debuginfo(x86-64)

https://www.baidu.com/link?url=Mf_Pi0CDxpjkpHoqOYE2Sp9FkSSWvTVMqgsyG0JhS0dN7TvMScKifI1X-oGAIYpkCVpz8WVi3kOvMKumYj_YLHCxtSUV5wnYUH3kDHbpYFn-4xuxLT5Jh0LkxIvLxHpIvaJolYiem858JvSxCME98vuz-ZSToSf3IxdmZwvAWxq&wd=&eqid=aaf78b5000018cbb00000002564edc55

http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html

1.安装PCRE库
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
tar -zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
make
make install

2.安装zlib库
cd /usr/local/
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
./configure
make
make install

3.安装ssl

cd /usr/local/
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
./config
make
make install

4.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8 
./configure --prefix=/usr/local/nginx
make
make install

--with-pcre=/usr/src/pcre-8.21 指的是pcre-8.21 的源码路径。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

编译器默认没有把宏定义扩展信息编译进二进制文件。

编译时需添加-gdwarf-2和-g3两个参数。

加了-g3的参数后,gcc编译的时候,会将扩展的debug 信息编译进二进制文件里面,包括宏定义信息。

结论:

在CFLAGS参数后添加-g3 -gdwarf-2参数

5 安装php
tar zvxf php-5.4.7.tar.gz
cd php-5.4.7
CFLAGS="-g -gdwarf-2 -g3" CXXFLAGS="-g -gdwarf-2 -g3" ./configure --prefix=/usr/local/php --enable-fpm --disable-pdo --with-curl --enable-debug --enable-opcache

make all install

6.配置php-fpm
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
vi etc/php-fpm.conf

修改
user = www-data
group = www-data

如果www-data用户不存在,那么先添加www-data用户
groupadd www-data
useradd -g www-data www-data

6.1安装bison以及re2c

 

zend_ini_parser.c 1110行 

int yydebug;

改为

int yydebug=1;

如果更改了zend_language_parse.y和zend_language_scanner.l的话,

删除掉zend_language_parse.c以及zend_language_scanner.c,再make时,会报错,需要安装bison,re2c

bison

wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz

tar -xvzf bison-2.6.4.tar.gz

cd bison-2.6.4

./configure

make

sudo make install

re2c  不要用re2c.14这个版本,不然安装php.6.6时会报错,zend_language_scanner.l不存在

wget http://sourceforge.net/projects/re2c/files/re2c/

# tar xf re2c-0.13.7.5.tar.gz

# cd re2c-0.13.7.5

# ./configure

#make && make install

修改nginx配置文件以支持php-fpm

nginx安装完成后,修改nginx配置文件为,nginx.conf

其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

php-fpm 5.4.7 如何关闭 重启?

php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止 QUIT 平滑终止 USR1 重新打开日志文件 USR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例:

php-fpm 关闭:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm进程数:

ps aux | grep -c php-fpm

8.命令行下执行php,提示找不到命令

-bash: /usr/bin/php: No such file or directory

vi /etc/profile

在文件底部增加一行配置
export PATH=/usr/local/php/bin:$PATH

保存退出

source /etc/profile

6 zend opcache

[opcache]
zend_extension = /data/app/php5/lib/php/extensions/no-debug-zts-20121212/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1

7.启动
确保系统的 80 端口没被其他程序占用,
/usr/local/nginx/sbin/nginx

检查是否启动成功:
netstat -ano|grep 80 有结果输入说明启动成功

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

7.重启
/usr/local/nginx/sbin/nginx –s reload

8.修改配置文件
cd /usr/local/nginx/conf
vi nginx.conf

9.常用配置
#nginx运行用户和组
user    www www; 
#启动进程,通常设置成和cpu的数量相等
worker_processes  4;

#全局错误日志及PID文件
pid /var/run/nginx.pid;
error_log  /var/log/nginx/error.log;

events {
        #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
use epoll;
                   #单个后台worker process进程的最大并发链接数
        worker_connections  10240;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
        include       mime.types;

default_type  application/octet-stream;

error_page 400 403 500 502 503 504  /50x.html;

index index.html index.shtml

autoindex off;

fastcgi_intercept_errors on;

sendfile        on;

# These are good default values.
        tcp_nopush      on;
        tcp_nodelay     off;

# output compression saves bandwidth
        gzip  off;
         #gzip_static on;
        #gzip_min_length  1k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_buffers  4 16k;
        gzip_proxied any;
        gzip_disable "MSIE [1-6]\.";
        gzip_types  text/plain text/html text/css application/x-javascript application/xml application/xml+rss text/javascript;
        #gzip_vary on;

server_name_in_redirect off;

#设定负载均衡的服务器列表
        upstream portals {
                  server 172.16.68.134:8082 max_fails=2 fail_timeout=30s;
                  server 172.16.68.135:8082 max_fails=2 fail_timeout=30s;
                            server 172.16.68.136:8082 max_fails=2 fail_timeout=30s;
                  server 172.16.68.137:8082 max_fails=2 fail_timeout=30s;
        }

#upstream overflow {
         #       server 10.248.6.34:8090 max_fails=2 fail_timeout=30s;      
         #       server 10.248.6.45:8080 max_fails=2 fail_timeout=30s;      
        #}

server {
                                     #侦听8080端口
                listen       8080;
                server_name  127.0.0.1;

#403、404页面重定向地址
                   error_page  403 = http://www.e100.cn/ebiz/other/217/403.html;
                   error_page  404 = http://www.e100.cn/ebiz/other/218/404.html;
                   proxy_connect_timeout      90;
                   proxy_send_timeout         180;
                   proxy_read_timeout         180;

proxy_buffer_size 64k;
                   proxy_buffers 4 128k;
                   proxy_busy_buffers_size 128k;

client_header_buffer_size 16k;
                   large_client_header_buffers 4 64k;

#proxy_send_timeout         3m;
                #proxy_read_timeout         3m;
                #proxy_buffer_size          4k;
                #proxy_buffers              4 32k;

proxy_set_header Host $http_host;
                proxy_max_temp_file_size 0;
                #proxy_hide_header Set-Cookie;
                 
         #       if ($host != ‘www.e100.cn‘ ) {
         #                rewrite ^/(.*)$ http://www.e100.cn/$1 permanent;
         #       }

location / {
                       deny all;
               }

location ~ ^/resource/res/img/blue/space.gif {
                    proxy_pass http://tecopera;
               }

location = / {
                   rewrite ^(.*)$  /ebiz/event/517.html last;
               }

location = /ebiz/event/517.html {
                    add_header Vary Accept-Encoding;
                    root /data/web/html;
                    expires 10m;
               }

location = /check.html {
                    root /usr/local/nginx/html/;
                    access_log off;
               }

location = /50x.html {
                    root /usr/local/nginx/html/;
                    expires 1m;
                    access_log off;
               }

location = /index.html {
                       add_header Vary Accept-Encoding;
#定义服务器的默认网站根目录位置
                    root /data/web/html/ebiz;
                    expires 10m;
               }
#定义反向代理访问名称
                   location ~ ^/ecps-portal/* {
                   # expires 10m;
#重定向集群名称
                    proxy_pass http://portals;
                    #proxy_pass http://172.16.68.134:8082;
               }

location ~ ^/fetionLogin/* {
                   # expires 10m;
                    proxy_pass http://portals;
                    #proxy_pass http://172.16.68.134:8082;
                }

#location  ~ ^/business/* {                                                                     
                #   # expires 10m;                                                                               
                #    proxy_pass http://172.16.68.132:8088;                                                                  
                #    #proxy_pass http://172.16.68.134:8082;                                                      
                #}

location ~ ^/rsmanager/* {
                    expires 10m;
                    root /data/web/;
                    #proxy_pass http://rsm;
               }
#定义nginx处理的页面后缀
                   location ~* (.*)\.(jpg|gif|htm|html|png|js|css)$  {
                            root /data/web/html/;
#页面缓存时间为10分钟
                         expires 10m;
                   }

#设定查看Nginx状态的地址    
               location ~* ^/NginxStatus/ {
                    stub_status on;
                    access_log off;
                    allow 10.1.252.126;
                    allow 10.248.6.49;
                    allow 127.0.0.1;
                    deny all;
               }
         #       error_page   405 =200 @405;
         #       location @405
         #       {
         #                proxy_pass http://10.248.6.45:8080;
         #       }

access_log  /data/logs/nginx/access.log combined;
               error_log   /data/logs/nginx/error.log;
        }
         server {
                listen       8082;

server_name  _;
               location = /check.html {
                    root /usr/local/nginx/html/;
                    access_log off;
               }
                 
        }
         server {
                   listen       8088;
                   server_name  _;
                   location ~ ^/* {
                   root /data/web/b2bhtml/;
                   access_log off;
         }               
         }
        server {
                listen       9082;
                server_name  _;

#        location ~ ^/resource/* {
        #            expires 10m;
         #           root /data/web/html/;
         #       }

location  / {
                     root /data/web/html/sysMaintain/;
                       if (!-f $request_filename) {
                            rewrite ^/(.*)$ /sysMaintain.html last;
                           }
                }
        }

}

首先要找到php-fpm.conf配置文件,查看pid的配置路径(不是安装路径),然后把下面对应的地方改掉才能正常执行。

[[email protected] ~]# ps aux | grep php-fpm   
root     11799  0.0  0.0 103248   880 pts/0    S+   13:51   0:00 grep --color php-fpm
root     11973  0.0  0.0 417748   964 ?        Ss   Jun01   0:20 php-fpm: master process (/etc/php-fpm.conf)

cat /etc/php-fpm.conf
看到
pid = /var/run/php-fpm/php-fpm.pid

php-fpm 启动:
/usr/local/php/sbin/php-fpm
php-fpm 关闭:
kill -INT `cat /var/run/php-fpm/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`

查看php-fpm进程数:
ps aux | grep -c php-fpm

=============================

[[email protected] ~]# find / -name ‘php-fpm‘ -type d
/var/log/php-fpm
/var/run/php-fpm

用这个find命令查找出来的路径是不对的

which php
/usr/bin/php

时间: 2024-08-05 21:48:50

安装php 带debug的相关文章

SQL Server 2012安装时如何不安装自带的Visual Studio

不安装以下两个: 参考文章 1. DBA_Huangzj, QL Server 2012安装时如何不安装自带的Visual Studio.

PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?

按照如下教程: LAMP一键安装包-CentOS 5/6下自动编译安装Apache.MySQL.PHP 在虚拟机的CentOS5.5中,一键安装了PHP运行环境,但发现并没有 soap 扩展,而近期项目用需要用到 webservice. 上述的一键安装(lamp0.4),其实是源码编译安装,PHP配置文件的路径为 /etc/php.ini ,安装后,遗留的文件目录为 “/home/jianbao/2/lamp0.4”,里面的文件列表为: [[email protected] lamp0.4]#

codeblocks安装(自带gcc编译器)

下载安装自带c编译器的的codeblocks. 网址:http://www.codeblocks.org/downloads/26 自带gcc编译器的版本 codeblocks-16.01mingw-setup.exe : 安装完成后打开IDE界面 点击Auto-detect则自动选择自带的gcc编译器目录: 可以编译运行: 运行小demo 原文地址:https://www.cnblogs.com/jiu0821/p/9086060.html

RabbitMQ 离线安装(带视频)

疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 环境 视频,陆续上线: Windows Redis 安装(带视频) Linux Redis 安装(带视频) Windows Zookeeper 安装(带视频) Linux Zookeeper 安装(带视频) RabbitMQ 离线安装(带视频) Nacos 安装(带视频) 小视频以及所需工具的百

centos安装nginx 带upstream

centos安装nginx 带upstream 用途:利用upstream进行socket数据中转各版本nginx下载地址:http://nginx.org/download/系统:CentOS 6.5 x64nginx版本:1.12.1安装方式:源码编译安装 1.安装必须环境,nginx的编译需要c++,同时prce(重定向支持)和openssl(https支持)也需要安装 yum install gcc-c++ yum -y install pcre* yum -y install open

如何删除CentOS7.2安装自带的virbr0

安装完centos7之后会遇到virbr0的虚拟网卡,该网卡存在会导致DNS服务器无法正常工作,下面介绍如何正确删除该网卡.     第一步: [[email protected] ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.

TensorFlow入门——安装(带GPU)

这一系列基本上是属于我自己进行到了那个步骤就做到那个步骤的 由于新装了GPU (GTX750ti)和CUDA9.0.CUDNN7.1版本的软件,所以希望TensorFlow能在GPU上运行,也算上补上之前的承诺 说了下初衷,由于现在新的CUDA版本对TensorFlow的支持不好,只能采取编译源码的方式进行 所以大概分为以下几个步骤 1.安装依赖库(这部分我已经做过了,不进行介绍,可以看前边的依赖库,基本一致) 2.安装Git(有的就跳过这一步) 3.安装TensorFlow的build工具ba

PLSQLDeveloper_免安装自带client

PLSQLDeveloper_解压版 免安装并且自带有client客户端. 要安装解压附带的readme.txt进行配置. 一. 目录结构 D:\install\PLSQL |-- instantclient_11_2 |-- tnsnames.ora |-- PLSQL Developer |-- readme.txt 二. 环境变量 NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK TNS_ADMIN = D:\install\PLSQL\instan

Ubuntu 安装自带的中文输入法

在终端安装安装软件包 sudo apt-get install ibus-pinyin 打开设置->找到Region&Language->找到Input Sources->点击+号->在Other中找到Chinese(Intelligent Pinyin)->点击添加即可 原文地址:https://www.cnblogs.com/puwen/p/10278143.html