php执行phpyun人才首页出错提示

后使用快捷导航没有帐号?
查看: 128|回复: 6
PHP源码安装出现错误无法运行,不知何故?
论坛徽章:8
按老师要求,我根据《就该这么学》一书,安装LNMP,并打算部署DISCUZ论坛。
采用源码安装,一路过关斩将,却在安装PHP时,出现了异常,而且很难判断原因。现象如下:
1. 在./configure步骤,加了参数
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc,
指定系统目录和配置目录。但是在运行后,系统并没有自动创建这2个目录。
2. 随后在make时,报错
/tmp/cclaJvYO.s: Assembler messages:
/tmp/cclaJvYO.s: Fatal error: can't close Zend/.libs/zend_execute.o: No space left on device
make: *** [Zend/zend_execute.lo] Error 1
报错后,系统不再执行,编译失败。
3.随后在make install时,报同样的错误。
且经观察,没有实际完成install,缺少/usr/local/php ,/usr/local/php/etc目录及相关文件。
从初步调查看,Zend并不是关键功能,不应该导致如此严重的错误啊?
真正的错误是什么呢?
注册会员, 积分 98, 距离下一级还需 102 积分
论坛徽章:1
提示说device没有空间里,试试提高/tmp挂载点下的硬盘大小试试。最后建议用yum安装吧。
论坛徽章:8
提示说device没有空间里,试试提高/tmp挂载点下的硬盘大小试试。最后建议用yum安装吧。
我很困惑,这个/tmp是特别的一个分区吗?我硬盘划了8个G,现在才用了3个G。
注册会员, 积分 98, 距离下一级还需 102 积分
论坛徽章:1
使用df命令查看硬盘分区和挂载,如果没有单独设置,/tmp是在/根目录这个节点下的
论坛徽章:8
[root@192 /]# df
Filesystem& && && && &&&1K-blocks& & Used Available Use% Mounted on
/dev/mapper/centos-root& &9532& &&&% /
devtmpfs& && && && && && & 495932& && & 0& & 495932& &0% /dev
tmpfs& && && && && && && & 507748& && & 0& & 507748& &0% /dev/shm
tmpfs& && && && && && && & 507748& & 6744& & 501004& &2% /run
tmpfs& && && && && && && & 507748& && & 0& & 507748& &0% /sys/fs/cgroup
/dev/sda1& && && && && &&&7276& & % /boot
tmpfs& && && && && && && & 101552& && & 0& & 101552& &0% /run/user
注册会员, 积分 76, 距离下一级还需 124 积分
论坛徽章:2
使用df命令查看硬盘分区和挂载,如果没有单独设置,/tmp是在/根目录这个节点下的
论坛徽章:8
谢谢大家,确实是磁盘满了,得空扩展一下磁盘。
dataguru.cn All Right Reserved.PHP实现基本的数据库连接、执行SQL语句及错误提示
原创
 15:48:47
975
本篇文章主要介绍PHP实现基本的数据库连接、执行SQL语句及错误提示,感兴趣的朋友参考下,希望对大家有所帮助。本文实例讲述了php实现比较全的数据库操作类,具体如下:&?php
class database
function __construct()
$this-&hostname=&localhost&;
$this-&user=&root&;
$this-&pass=&111&;
$this-&dbname=&&;
$this-&charset=&utf8&; //gb2312 GBK utf8
$this-&linkflag=mysql_connect($this-&hostname,$this-&user,$this-&pass);
mysql_select_db($this-&dbname,$this-&linkflag) or die($this-&error());
mysql_query(&set names &.$this-&charset);
function __set($property_name,$value)
return $this-&$property_name=$
function __get($property_name)
if(isset($this-&$property_name))
return $this-&$property_
function __call($function_name, $args)
echo &&br&&font color=#ff0000&你所调用的方法 $function_name 不存在&/font&&br&\n&;
function query($sql)
$res=mysql_query($sql) or die($this-&error());
function fetch_array($res)
return mysql_fetch_array($res);
function fetch_object($res)
return mysql_fetch_object($res);
function fetch_obj_arr($sql)
$obj_arr=array();
$res=$this-&query($sql);
while($row=mysql_fetch_object($res))
$obj_arr[]=$
return $obj_
function error()
if($this-&linkflag)
return mysql_error($this-&linkflag);
else return mysql_error();
function errno()
if($this-&linkflag)
return mysql_errno($this-&linkflag);
else return mysql_errno();
function affected_rows()
return mysql_affected_rows($this-&linkflag);
function num_rows($sql)
$res=$this-&execute($sql);
return mysql_num_rows($res);
function num_fields($res)
return mysql_num_fields($res);
function insert_id()
$previous_id=mysql_insert_id($this-&linkflag);
return $previous_
function result($res,$row,$field=null)
if($field===null)
$res=mysql_result($res,$row);
else $res=mysql_result($res,$row,$field);
function version()
return mysql_get_server_info($this-&linkflag);
function data_seek($res,$rowNum)
return mysql_data_seek($res,$rowNum);
function __destruct()
//mysql_close($this-&linkflag);
?&总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。相关推荐:以上就是PHP实现基本的数据库连接、执行SQL语句及错误提示的详细内容,更多请关注php中文网其它相关文章!
江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。
PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
点击数(112108)
ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
点击数(110193)
《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。
点击数(84568)
本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
点击数(83676)
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
点击数(81016)
全栈工程师
文章总浏览数
相关视频章节经过核实后将会做出处理,感谢您为社区和谐做出贡献。
请选择删除原因
确定推荐该回答?
执行php.exe程序cli提示错误怎么解决
你去优化一下注册表1. 错误的分类
程序无法运行,直接显示语法错误(最容易修复)
运行时错误
只有程序运行到某行,或在某些特定的情形下运行才会发生错误
程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的
我们程序员主要面对的和要处理(应付)的错误,就是运行时错误
2. 错误的报告级别
错误报告描述
对应整数值
致命的运行时错误(它会阻止脚本的执行)
运行时警告(非致命错误)
从语法中解析错误
运行时注意消息(可能或者可能不是一个问题)
E_CORE_ERROR
类似E_ERROR, 但不包括PHP核心造成的错误
E_COMPILE_ERROR
致命的编译时错误
E_COMPILE_WARNING
致命的编译时警告
E_USER_ERROR
用户导致的错误消息
E_USER_WARNING
用户导致的警告
E_USER_NOTICE
用户导致的注意消息
所有的错误,警告和注意
关于PHP版本移植的兼容性和互操作性建议
如果希望显示错误消息,则需要在php.ini中将display_errors设置为on,开启PHP输出错误报告的功能,
display_errors = on
也可以在php脚本中调用ini_set()函数,动态设置配置文件php.ini中的某个指令。
ini_set('display_errors',true);
3. 调整错误报告级别
通过设置php.ini中,修改error_reporting的值,修改成功后重启web服务器。可以把位运算符[&(与),|(或),~(非)]和错误级别一起使用
error_reporting = E_ALL&~E_NOTICE
解释一下,具体解释看前面的博文
E_USER_ERROR:
实际上,在开发阶段,常用的是:
error_reporting = E_ALL | E_STRICT;
它是这样的结果:
可以使用error_reporting()函数,基于各个脚本来调整这种行为
error_reporting(0);
error_reporting(E_ALL);
error_reporting(E_ALL&~E_NOTICE);
使用ini_set()直接设定
ini_set(“error_reporting”,
E_NOTICE);
ini_set(“error_reporting”,
E_NOTICE | E_WARNING);
ini_set(“error_reporting”,
E_ALL | E_STRICT & ~E_NOTICE);
ini_set();
ini_set(“设定项名称” ,值);
ini_get(“设定项名称”);
4. 使用trigger_error()函数来替代die()
函数die()等同于exit(),两者如果执行都会中止PHP程序,而trigger_error()则可以生成一个用户警告来代替。例如,trigger_error("没有找到文件",E_USER_ERROR),使用trigger_ERROR()函数来替代die(),则代码在处理错误上会更具优势。
5. 自定义错误处理
以下几种情况可以考虑自定义错误处理。
可以记下错误信息。及时发现一些生产环境出现的问题
可以用来屏蔽错误。防止信息暴漏给用户,极有可能被黑客攻击
可以做相应的处理,将所有错误报告放到脚本最后输出。或出错时可以显示跳转到预定义好的出错页面,提供更高的用户体验,如果必要,还可以在自定义的错误处理程序中,根据情况去终止脚本运行
可以作为调试工具,
通常使用set_error_handler()函数去设置用户自定义的错误处理函数,该函数用于创建运行时期自己定义的错误处理方法,返回旧的错误处理程序,若失败,则返回null。
该函数有两个参数,其中第一个参数是必选的,需要一个回调函数,规定发生错误时运行的函数。这个回调函数一定要声明4个参数,否则无效,按顺序分别为是否存在错误,错误信息,错误文件和错误行号。set_error_handler()函数的第二个参数则为可选的,规定在哪个错误报告级会显示用户定义的错误。默认是”E_ALL”.例如:
error_reporting(0);
function error_handler($error_level, $error_message, $file, $line) {
$exit = FALSE;
switch ($error_level) {
case E_NOTICE:
case E_USER_NOTICE;
$error_type = 'Notice';
case E_WARNING;
case E_USER_WARNING;
$error_type = 'Warning';
case E_ERROR;
case E_USER_ERROR;
$error_type = 'Fatal Error';
$EXIT = TRUE;
$error_type = 'Unknown';
printf("&font color='#FF0000'&&b&%s&/b&&/font&:%s in &b&%s&/b& on line &b&%d&/b&&br&\n", $error_type);
if (TRUE == $EXIT){
echo '&script&location="err.html";&/script&';
set_error_handler('error_handler');
echo $novar;
echo 3 / 0;
trigger_error('Trigger a fatal error' . E_USER_ERROR);
echo "ddddd";
系统直接报Fatal Error的这里捕获不到,因为系统不可能把这么大的错误交给你处理
E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING不会被这个句柄处理的,也就是会用最原始的方式显示出来,不过出现这些错误都是编译或PHP内核出错,在通常情况下不会发生。
使用set_error_handler()后,error_reporting()将会失效。也就是所有的错误(除了上面提到的)都会交给自定义的函数处理
6. 写错误日志
在开发阶段,我们通常都是显示所有错误——意图解决错误
在产品阶段,我们通常都是隐藏所有错误——并同时将错误信息记录到文件中——错误日志文件.
6.1 使用指定文件记录错误报告日志
如果使用自己指定的文件记录错误日志,一定要确保将这个文件存放在文档根目录之外,以减少遭到攻击的可能。并且文件一定要让PHP脚本的执行用户(web服务器进程所有者)具有写权限。
error_reporting = E_ALL ;将会项PHP报告发生的每个错误
display_errors = off ;不显示满足上条指令所定义规则的所有错误报告
log_errors = On ;决定日志语句记录的设置
log_errors_max_len = 1024设置每个日志项的最大长度
error_log = /usr/local/error.指定产生的错误报告写入的日志位置
使用PHP中的error_log()函数,送出一个用户自定义的错误信息,该函数的原型如下所示:
bool error_log(string message [,int message_type [,string destination [,string extra_headers]]])
此函数会送出错误信息到web服务器的错误日志文件,某个TCP服务器或到指定文件中。该函数执行成功则返回true,失败则返回false.
第一个参数message是必选项,即为要送出的错误信息。如果仅使用这一参数,会按配置文件中php.ini中所设置的位置处发送消息。
第二个参数message_type为整数值:0表示送到操作系统的日志中;1则使用PHP的Mail()函数,发送信息到某E-mail处,第四个参数extra_headers也会用到;2则将错误信息送到TCP服务器中,此时第三个参数destination表示目的地IP及3则将信息存到文件destination中。
error_log("出麻烦了",0);
error_log("出现麻烦了",1,"the_");
error_log("搞砸了", 2, "localhost:5000");
error_log("搞砸了", 3, "/usr/local/errors.log");
6.2 错误信息记录到操作系统的日志里
错误报告也可以记录在操作系统日志里,Linux系统中错误语句将送往syslog,而在windows中错误将发送到事件日志里。
error_reporting = E_ALL ;将会项PHP报告发生的每个错误
display_errors = off ;不显示满足上条指令所定义规则的所有错误报告
log_errors = On ;决定日志语句记录的设置
log_errors_max_len = 1024设置每个日志项的最大长度
error_log = 指定产生的错误报告写入的操作系统的日志
php允许向系统syslog中发送定制的消息。PHP提供了需要一起使用的4个专用函数。
define_syslog_variables() 在使用openlog(),syslog()以及closelog()函数之前必须调用的函数。它会初始化一些必须的常量
打开一个和当前系统中日志器的连接,为向系统插入日志消息做好准备,并将提供的第一个字符串参数插入到每个日志消息中,该函数还需要指定两个将在日志上下文使用的参数,可以参考官方文档使用。
syslog() 该函数向系统日志中发送一个定制消息。必选两个参数,1.通过指定一个常量定制消息的优先级。例如LOG_WARNING表示一般的警告,LOG_EMERG`表示严重的预示着系统给崩溃的问题等。第二个参数则是向系统日志中发送定制消息,需要提供一个消息字符串,也可以是PHP引擎在运行时的错误字符串
closelog()
关闭日志连接。
如果已经开启了syslog,则例如:
define_syslog_variables();
openlog("PHP5",LOG_PID, LOG_USER);
syslog(LOG_WARNING,"警告报告向syslog发送的演示,警告时间:".date("Y/m/d H:i:s"));
closelog();
PHP 异常处理
异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。当异常被触发时,通常会发生:
o当前代码状态被保存
o代码执行被切换到预定义的异常处理器函数
php 错误处理及实现
1.php的错误,警告,异常处理如何实现,那些函数用于处理对应的错误php 异常提示分为三类 error/warning/notice
错误补充:
Fatal Error:致命错误(脚本终止运...
PHP错误异常处理详解
PHP异常处理详解
异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。
  异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是你不用再绞尽脑...
php中的错误和异常处理
php中的错误和异常处理
PHP中的异常处理
1.什么是异常?异常和错误有什么区别?
1.异常:程序运行与预期不太一致,与错误是两个不同的概念!
2.抛出和捕获异常
3.多个catch块的时候基类要往后放,否则基类捕获异常后就不会...
php异常和错误处理
异常和错误处理  在语言级别上,通常具有许多错误处理模式,但这些模式往往建立在约定俗称的基础上,也就是说这些错误都是预知的。但是在大型程序中,如果每次调用都去逐一检查错误,会使代码变得冗长复杂,到处充...
日志-php-error错误日志查看
对于我们做php开发的人员,上了生产环境,一定要把相关debug,display_errors错误提示等关掉。谁还难免不犯个错呢?这样能防止非致命性报错下,导致项目路径、数据库等信息泄漏。
php输出所有错误信息
方法一 修改php.ini
;显示错误信息
display_errors = On
;显示php开始错误信息
display_startup_errors = On
;日志记录错误信息
PHP中如何设置error_reporting错误报告级别
错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)会以错误报告的形式输出。
php开启错误提示(详解)
1.在php.ini文件里加上下面两句
display_errors = On
error_reporting = E_ALL | E_STRICT
2.在Apache的 httpd.conf文件里加...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"

我要回帖

更多关于 如何运行php文件 的文章

 

随机推荐