php项目部署新问题

时间:2009-09-02 19:36:17

标签: php windows linux deployment

我做了一个php项目,我已经将它上传到服务器上。我已经在windowas上开发了它,现在我正在尝试将它部署在远程linux服务器上。但我发现错误。 页面的某些部分未显示我不知道为什么? 例如,我有一页appply如下。我只能看到其他部分我无法看到的顶部。

<?php 
require 'inc/header.php';
require 'inc/config.php';
require 'inc/functions.php';



$QUERY0 = "
            SELECT *
            FROM states
          ";

       $result0 = send_query($QUERY0);
       $i=0;
       while($row = mysql_fetch_array($result0))
            {
                $states_names[$i]=$row['sname'];
                $states_val[$i] =$row['id'];
                $i++;

            }

$QUERY1 = "
            SELECT *
            FROM courses
          ";

       $result1 = send_query($QUERY1);
       $i=0;
       while($row = mysql_fetch_array($result1))
            {
                $courses_names[$i]=$row['cname'];
                $courses_val[$i]=$row['id'];
                $i++;

            }


$QUERY2 = "
            SELECT *
            FROM jobprofile
          ";

       $result2 = send_query($QUERY2);
       $i=0;
       while($row = mysql_fetch_array($result2))
            {
                $jobprofiles_names[$i]=$row['jobname'];
                $jobprofile_val[$i]=$row['jobid'];
                $i++;

            }



$QUERY3 = "
            SELECT *
            FROM edu
          ";

       $result3 = send_query($QUERY3);
       $i=0;
       while($row = mysql_fetch_array($result3))
            {
                $edu_names[$i]=$row['eduq'];
                $edu_val[$i]=$row['id'];


              //  echo "***********" .$edu_names[$i];
                $i++;

            }






?>

<div class="left">
    <div class="left_articles">

        <h2><a href="#">Register</a></h2>
        <p class="description">Please submit the folloing form</p>
        <p>
            <form action="check.php" method="post">

            <table border="0">

                <tbody>
                    <tr>
                        <td>First name</td>
                        <td><input type="text" name="fname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Last name</td>
                        <td><input type="text" name="lname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Address</td>
                        <td><input type="text" name="address" value="" /></td>
                    </tr>

                    <tr>
                        <td>age</td>
                        <td><input type="text" name="age" value="" /></td>
                    </tr>

                    <tr>
                        <td>State of origin</td>
                        <td>
                            <select name="origin">
                                <?  $i=0;
                                    foreach( $states_names as $state )
                                    {

                                        $val=  $states_val[$i] ;
                                ?>
                                <option value="<? echo $val; ?>"><? echo $state; ?> </option>
                                <?
                                        $i++;
                                    }
                                ?>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>Mobile no</td>
                        <td><input type="text" name="mobile" value="" /></td>
                    </tr>
                    <tr>
                        <td>Sex</td>
                        <td><select name="sex">
                                <option value="1">Male</option>
                                <option value="0">Female</option>
                        </select></td>
                    </tr>
                    <tr>
                        <td>Marrital Status</td>
                        <td><select name="ms">
                                <option value="0">Single</option>
                                <option value="1">Married</option>
                        </select></td>
                    </tr>
                    <tr>
                        <td>Email</td>
                        <td><input type="text" name="email" value="" /></td>
                    </tr>
                    <tr>
                        <td>Job Applying For</td>
                        <td><select name="jobtype">
                                 <?  $i=0;
                                    foreach( $jobprofiles_names as $job )
                                    {

                                        $val=  $jobprofile_val[$i] ;
                                ?>
                                <option value="<? echo $val; ?>"><? echo $job; ?> </option>
                                <?
                                        $i++;
                                    }
                                ?>
                        </select>
                        </td>
                    </tr>

                    <tr>
                        <td>Have u worked in this sector before</td>
                        <td><select name="exp">
                                <option value="0">no</option>
                                <option value="1">yes</option>

                        </select></td>
                    </tr>
                    <tr>
                        <td>Which department of this sector u have worked?</td>
                        <td>    <input type="text" name="exptype" value="" />

                       </td>

                    </tr>
                    <tr>
                        <td>Years of experinece in this sector</td>
                        <td><input type="text" name="yrsexp" value="" /></td>
                    </tr>

                    <tr>
                        <td>Higest Educational qualification</td>
                        <td><select name="eduq">
                                <?  $i=0;
                                    foreach( $edu_names as $ed)
                                    {

                                        $val=  $edu_val[$i];
                              ?>
                                <option value="<? echo $val; ?>"><? echo $ed; ?> </option>
                               <?
                                        $i++;

                                    }
                               ?>
                        </select>

                        </td>
                    </tr>

                    <tr>
                        <td>Course taken in above educational qualification</td>
                        <td><select name="crc">

                              <?  $i=0;
                                    foreach( $courses_names as $crc)
                                    {

                                        $val=  $courses_val[$i];
                              ?>
                                <option value="<? echo $val; ?>"><? echo $crc; ?> </option>
                               <?
                                        $i++;

                                    }
                               ?>
                        </select>

                        </td>
                    </tr>

                    <tr>
                        <td>Grade obtained in the above educational qualification</td>
                        <td><select name="grade">
                                <option value="0">A</option>
                                 <option value="1">B</option>
                                  <option value="2">C</option>
                                   <option value="3">D</option>

                        </select>

                        </td>
                    </tr>


                    <tr>
                        <td></td>
                        <td><input type="submit" value="Apply now" /></td>
                    </tr>
                </tbody>
            </table>
            <input type="hidden" name="action" value="check" />
             </form>

        </p>
    </div>


</div>  



<?  require 'inc/right.php'  ?>

<?  require 'inc/footer.php'  ?>

我的文件描述如下。 标头包含标头 righ.php包含页面的右侧

为什么我的页面没有完整显示?斜杠/位置有问题吗? 它在Windows和Linux上有什么不同吗?

5 个答案:

答案 0 :(得分:2)

inc和inc / headers.php的文件和目录在文件系统中都是小写的吗? Unix文件名区分大小写。将包含更改为要求查看是否会导致错误。

答案 1 :(得分:2)

您还应该检查所有文件中的行结尾。如果您是在Windows上开发的,那么在整个文件中甚至是混合状态都有cr / lf行结束的可能性非常高。根据您将文件传输到Linux服务器的方式,它们可能会被转换。特别是混合状态会造成麻烦。

另一项检查是文件的编码 - 这些文件在整个项目中也应该是一致的。如果他们使用 UTF-8 ,请确保他们没有Byte-order mark (BOM) ,因为这会导致包含文件出现问题。

答案 2 :(得分:2)

您遇到的Windows和Linux正在以不同的方式处理相对路径。

使用绝对路径(请注意,Windows和Linux上的php都接受正斜杠目录分隔符。)

假设(Linux服务器示例)您的应用程序始终从绝对路径执行:

/home/www/index.php  

您的包含脚本位于:

/home/www/inc/header.php  

...

然后,您可以定义绝对路径并将其连接到每个包含字符串:

<?php

define('ABSPATH', dirname(__FILE__));

...

include ABSPATH . '/inc/header.php';  

...

include ABSPATH . '/inc/footer.php';

?>

答案 3 :(得分:1)

“顶部”是什么意思?

另外,尝试更改你的php标签,将它们自己标记为php,所以

<?php ... ?>

而不是

<? ... ?>

答案 4 :(得分:0)

DIRECTORY_SEPARATOR常数会帮助你。

替换:

require 'inc/header.php';

使用:

require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'header.php';

为其他人做类似的事情。