How can I make an installer for a PHP application?

I have a PHP application and you want to create an installer for it. Are there any existing frameworks that I can use? Are there any good tutorials on this?

+3
source share
4 answers

You do not need an installer, but a compiler.

Take a look at this article:

http://www.swiftlytilting.com/2005/03/21/phc-a-php-to-exe-compiler/

+2
source

Installer?

If you install the PHP script / install some settings / etc, then yes. vBulletin and phpBB have some awesome installers - they create a configuration file without the need for infection.

However, if you are talking about Windows / Linux / OS X / etc. executable installer, I do not think you can.

0

PHP script

( ) (htdocs). connect.php DB_Info.php include | connect.php @mysql_connection connect.php | connect.php. / .

<?php  // Always Include/Require This File For Connect Database
    require_once "DB_Info.php";  // this is connect.php file

    @mysqli_connect(
        $HOST_name,
        $DB_username,
        $DB_password
    ) or die(
        "<h2>Database Error, Contact With Admin </h2>"
    );

    @mysqli_select_db(
        $DB_name
    ) or die(
        "<h2>Database Error, Contact With Admin</h2>"
    );
?>

require_once DB_Info.php | connect.php $HOST_name, $DB_username, $DB_password var | " " DB_Info.php( ) | index.php, install.php, installed.php . 1st index.php →

<link rel='stylesheet' href='style.css' />

<?php  // create form
    $HOST_name = "<input class='input' type='text' name='dbhost' placeholder='Enter Host Name' />";
    $DB_username = "<input class='input' type='text' name='dbuser' placeholder='Enter DB User Name' />";
    $DB_password = "<input class='input' type='password' name='dbpass' placeholder='***********' />";
    $DB_name = "<input class='input' type='text' name='dbname' placeholder='Enter DB Name' />";
    echo "<div class='box' >
            <form class='ins' method='post' action='installing.php' >
                    <p>Enter Host Name:<p>
                    $HOST_name
                    <p>Enter DB User Name:<p>
                    $DB_username
                    <p>Enter DB PassWord:<p>
                    $DB_password
                    <p>Enter DB Name:<p>
                    $DB_name
                    <input class='submit' type='submit'name='install' value='NEXT' />
            </form>
        </div>";
?>

php fwrite() var DB_Info.php (connect.php $HOST_name, $DB_username, $DB_password) installing.php →

<link rel='stylesheet' href='style.css' />
<?php  
    $writer="<?php".'
    '.'$HOST_name = '."'".$_POST['dbhost']."'".';
    '.'$DB_name = '."'".$_POST['dbname']."'".';
    '.'$DB_username = '."'".$_POST['dbuser']."'".';
    '.'$DB_password = '."'".$_POST['dbpass']."'".';
    '."?>";

    $write=fopen('..\include/DB_Info.php' , 'w');
    if(empty($_POST['dbhost']&&
             $_POST['dbname']&&
             $_POST['dbuser']&&
             $_POST['dbpass'])){
                 echo"<h2 align=center >All Fields are required! Please Re-enter</h2>";

    }else{
        if(isset($_POST['install']))
        {
            fwrite($write,$writer);
            fclose($write);
            echo "<div class='box'>
                <form class='ins' action='installed.php' method='post'>
                    <h2 align=center color=red>Database Info Succecfully Entered<h2>
                    <input class='submit' type='submit' value='NEXT' name='next'/>
                </form>
                </div>";
        }else{ echo "<h2 align=center >Error<h2>"; }}
?>

installed.php phpmyadmin →

<?php
    if(isset($_POST['next'])){
        /*  enter your
         sql code for
         teble creating */
        echo"<h2 align=center >Finished</h2>";
    }else{
        echo"<h2 align=center >Error</h2>";
    }
?>

css

* {
    margin: 0;
    padding: 0;
}

.box {
    position: absolute;
    width: 300px;
    top: 16%;
    left: 35%;
    background-color: rgb(0, 0, 0);
    padding: 15px;
    padding-top: auto;
}

.ins {
    margin: 0;
    padding: 0;
    font-weight: bold;
    color: lawngreen;
    font-size: 1rem;
}

.input {
    border: none;
    border-bottom: 2px solid lawngreen;
    margin-bottom: 20px;
    width: 100%;
    height: 40px;
    background: transparent;
    outline: none;
    color: cyan;
    font-size: 1rem;
}

.submit {
    background-color: lawngreen;
    width: 100%;
    height: 40px;
    font-size: 1.5rem;
    border: none;
    margin-top: 10px;
    outline: none;
    cursor: pointer;
    border-radius: 20px;
}
0
source

Source: https://habr.com/ru/post/1786575/


All Articles