php-server-manager icon indicating copy to clipboard operation
php-server-manager copied to clipboard

php server is not getting started.

Open ashu-ch opened this issue 5 years ago • 7 comments

this is my main.js file if I install php in my system it's working and if I uninstall it's not working it should run the php from php directory of the app but it's throwing error server is not started

const electron = require('electron') const path = require('path')

const BrowserWindow = electron.BrowserWindow const app = electron.app

app.on('ready', () => { createWindow() })

var phpServer = require('php-server-manager'); const PHPServer = require('php-server-manager'); const port = 8001, host = '127.0.0.1'; const serverUrl = http://${host}:${port};

const server = new PHPServer({ php: ${__dirname}/php, stdio: 'inherit', port: 8001, directory: ${__dirname}/www/public, directives: { display_errors: 1, expose_php: 1 }, config: ${__dirname}/php/php.ini, script: ${__dirname}/www/server.php, });

let mainWindow

function createWindow() { // Create a PHP Server

server.run();

// phpServer.createServer({ // port: port, // hostname: host, // base: ${__dirname}/www/public, // keepalive: false, // open: false, // bin: ${__dirname}/php/php.exe, // router: __dirname + '/www/server.php' // });

// Create the browser window. const { width, height } = electron.screen.getPrimaryDisplay().workAreaSize mainWindow = new BrowserWindow({ width: width, height: height, show: false, autoHideMenuBar: true })

mainWindow.loadURL(serverUrl)

mainWindow.webContents.once('dom-ready', function () { mainWindow.show() mainWindow.maximize(); // mainWindow.webContents.openDevTools() });

// Emitted when the window is closed. mainWindow.on('closed', function () { server.close(); mainWindow = null; }) }

// This method will be called when Electron has finished // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. //app.on('ready', createWindow) // <== this is extra so commented, enabling this can show 2 windows..

// Quit when all windows are closed. app.on('window-all-closed', function () { // On OS X it is common for applications and their menu bar // to stay active until the user quits explicitly with Cmd + Q if (process.platform !== 'darwin') { // PHP SERVER QUIT server.close(); app.quit(); } })

app.on('activate', function () { // On OS X it's common to re-create a window in the app when the // dock icon is clicked and there are no other windows open. if (mainWindow === null) { createWindow() } })

ashu-ch avatar May 20 '20 10:05 ashu-ch

Can you start the php server manually?

./php -S 127.0.0.1:8000

oscarotero avatar May 20 '20 13:05 oscarotero

It's working in windows but not in linux tell me where I'm doing wrong

ashu-ch avatar May 20 '20 14:05 ashu-ch

I think this is something related with your php installation. This library only execute the php binary to create a php server, but if the binary does not work, there's nothing that it can do.

oscarotero avatar May 20 '20 14:05 oscarotero

It should work with the php configuration present in php directory but it's not. It's working with the php install in the system What should I do so that it can work with php configuration present in php directory of the project

ashu-ch avatar May 20 '20 14:05 ashu-ch

Help me with this

ashu-ch avatar May 20 '20 14:05 ashu-ch

I'll recommend to make sure your php binary file works fine before use this library. For example:

./php -S 127.0.0.1:8001 -t www/public -d display_errors=0 -d expose_php=0 -c php/php.ini www/server.php

If this does not work, I cannot help you.

oscarotero avatar May 20 '20 14:05 oscarotero

Okay I'll check

ashu-ch avatar May 20 '20 14:05 ashu-ch