对于学习php这些是必须的吗?
html css js这些是必须要会的吗?感觉涉及的有点多,会晕的很快?一定要全面学习? html必学,其他俩可以同步或者以后学都可以,不耽误入门。 必须的,web不仅仅是一门语言而已,而是一个领域,一个很大的领域 又要会程序,又要会前端,好难啊! 首先,单纯就学习php而言,html,css,js都不是必须的。php不单单可以做web,还可以作为shell脚本运行
其次就算是用php来开发web,php的重点是在于在服务器端操作数据,即业务逻辑的处理。数据展示得是否优美仅评判于php处理出来的数据与格式是否正确。
其他事情的还真不是php的事情,不能让php来背这黑锅。 回复 5# chz
感谢您精到的解答,我就有了方向,会一项一项的有步骤来学习,谢谢! chz 发表于 2013-01-16 22:47 static/image/common/back.gif
首先,单纯就学习php而言,html,css,js都不是必须的。
php不单单可以做web,还可以作为shell脚本运行
...
不敢苟同,赞成html是必要学习的,而且必须是xhtml,有能力可以直接学习html5.php脚本是php,shell脚本是shell,不是同一概念. 本帖最后由 chz 于 2013-01-17 11:33 编辑
一个用php做shell脚本的例子,用于监控服务地址是否正常,还真和HTML,CSS,JS没半毛钱关系.:roll:#!/bin/php
<?php
include_once(dirname(__FILE__).DIRECTORY_SEPARATOR."conf/globalVar.inc.php");
include_once($PROJECT['libPath']."Debug.inc.php");
include_once($PROJECT['libPath']."Logging.inc.php");
include_once($PROJECT['libPath']."Snoopy.inc.php");
include_once($PROJECT['libPath']."StringUtility.inc.php");
include_once($PROJECT['libPath']."email.class.php");
$smtpserver = "smtp.163.com"; // 用于发送邮件的SMTP服务器地址
$smtpserverport = 25; // SMPT端口
$smtpusermail = "xxx@163.com"; // 用于发送邮件的帐号
$smtpmailto = "aa@aa.com,bb@bb.com"; // 接收警报邮件的邮箱,多个用,隔开
$smtpmailcc = "cc@cc.com"; // 接受抄送警报邮件的邮箱
$smtpuser = "xxx"; // 登录SMTP服务器的帐号
$smtppass = "xxxPassword"; // 登录SMTP服务器的密码
$mailtype = "HTML";
$smtp = new smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass);
$smtp->debug = false;
$debug = new Debug();
$debug->enable();
set_time_limit(0);
// 被监控的URL,放入数组中
$URL = array(
'http://xxx.com/xxx.html',
'http://aaa.com/aaa.html',
);
for ($i=0; $i<sizeof($URL); $i++)
{
$snoopy = new Snoopy();
$snoopy->fetch($URL[$i]);
echo $URL[$i]."\t"."status:".$snoopy->status;
echo "\t"."response code:".$snoopy->response_code;
if($snoopy->response_code=='') echo "\n";
if ($snoopy->status <> '200')
{
//$mailsubject = "SERR:".$URL[$i];
$mailsubject = $URL[$i];
$mailbody = "Status:".$snoopy->status."\n";
$mailbody .= "http headers:\n";
if(is_array($snoopy->headers)){
foreach ($snoopy->headers as $key=>$value){
$mailbody .= "\t [".$key."]=".$value;
}
}
$mailbody .= "\n----\n";
$mailbody .= "http results:\n";
$mailbody .= $snoopy->results;
$smtp->sendmail($smtpmailto, $smtpusermail, $mailsubject, $mailbody, $mailtype, $smtpmailcc);
}
}
echo "----\n";
logAndClear();
?>
执行的方式$ crontab -l
0,10,20,30,40,50 * * * * /home/chz/php/ServerStatus/ServerStatus.php&
回复 8# chz
$ crontab -l
0,10,20,30,40,50 * * * * /home/chz/php/ServerStatus/ServerStatus.php&
最后为什么要加个&符号?
回复 9# lgw7758
表示在后台执行.
其实应该用 /home/chz/php/ServerStatus/ServerStatus.php > /dev/null 2>&1
在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1的意思就是将标准错误也输出到标准输出当中。
页:
[1]