首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP无法连接到Apache/SQL服务器

PHP无法连接到Apache/SQL服务器
EN

Stack Overflow用户
提问于 2018-03-05 04:42:42
回答 2查看 52关注 0票数 0

我在运行PHP代码和运行本地apache24服务器时遇到了问题。

在html中,我做了一个form

代码语言:javascript
复制
<form method="post" action="./php/submit.php">
                 <div class="submitrow">
                    <div class="col-25">
                        <label for="fname">Altcoin name*</label>
                    </div>
                    <div class="col-75">
                        <input type="text" name="altcoinName" placeholder="Ethereum" maxlength="20" required>
                    </div>
                 </div>

                <div class="submitrow">
                    <div class="col-25">
                        <label for="fname">Altcoin symbol*</label>
                    </div>
                    <div class="col-75">
                        <input type="text"  name="altcoinSymbol" placeholder="ETH" maxlength="5" required>
                    </div>
                </div> 
 </form>

当我提交form时,我想要运行这个PHP脚本,它将数据从form发送到我本地的SQL server,即我使用apache24和phpmyadmin运行的服务器。当我在html中“提交”我的form时,PHP代码并没有被执行,它只是出现在我的浏览器中。

代码语言:javascript
复制
<?php
        $altcoinName = filter_input(INPUT_POST, 'altcoinName');
        $altcoinSymbol = filter_input(INPUT_POST, 'altcoinSymbol');
        if (!empty($altcoinName)){
        if (!empty($altcoinSymbol)){
            $host = "localhost/phpmyadmin";
            $dbusername = "root";
            $dbpassword = "";
            $dbname = "servertest";

            //create connection
            $conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

            if (mysqli_connect_error()){
                die('Connect Error ('. mysqli_connect_errno() .') '
                . mysqli_connect_error());     
            } else {
                $sql = "INSERT INTO submit (altcoinName, altcoinSymbol)
                values ('$altcoinName','$altcoinSymbol')";
                if ($conn->query($sql)){
                    echo "New record is inserted succesfully";
                } else {
                    echo "Error: ". $sql ."<br>". $conn->error;
                }
                $conn->close();
            }

        } else {
            echo "altcoin symbol should not be empty";
            die();
        }

        } else {
            echo "altcoin name should not be empty";
            die();
        }
?>

在CMD中,我转到apache文件夹并启动httpd (httpd -k start)。这个错误是我得到的:

代码语言:javascript
复制
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

所以我搜索了端口0.0.0.0:80netstat -a -o做了什么,它是LISTENING

有没有人知道我可能做错了什么,或者我该如何修复这个问题?我真的很感激,

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-03-05 04:52:56

您应该在目录中授予execute访问权限,该访问权限通常已在/var/www/html/中设置。但是,如果您使用的是主目录中的站点,如/home/username/public_site/,则还需要允许执行此目录中的脚本。

票数 0
EN

Stack Overflow用户

发布于 2018-03-05 04:53:25

如果您的apache正在运行,但PHP没有运行,那么PHP可能没有配置为从apache运行。

有条不紊地完成这里的每个步骤:

http://php.net/manual/en/install.unix.apache2.php

如果它是预构建的Apache/PHP二进制文件,请从步骤6开始,确保PHP端已配置。如果有疑问,请重新编译二进制文件:)

此外,在对这类问题进行故障排除时,您可能会遇到一些表单问题,以及Apache/PHP配置问题。要验证至少用PHP正确配置了Apache,请在web根目录中放置一个php_info()测试页面。

如果这样做有效,而表单提交不起作用,那么您可能会遇到两个独立的问题。

http://php.net/manual/en/function.phpinfo.php

我的直觉是,你只需要确保步骤7已经完成,但我之前就错了。不要忘记,在测试更改之前,每次更改任何Apache或apache24文件时都要重新启动httpd / PHP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49100243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档