Comments (21)
This still needs to be confirmed.
Original comment by [email protected]
on 21 Jul 2013 at 6:35
- Added labels: NextRelease
from phpdesktop.
Confirmed in MSIE. After adding "ąć" to directory name, application displays
"Page not found" webpage informing that navigation failed. Also the
php-desktop-msie.exe process is hanging in processes list still after
application was closed.
Original comment by [email protected]
on 21 Jan 2014 at 12:28
- Added labels: Priority-High
- Removed labels: Priority-Medium
from phpdesktop.
[deleted comment]
from phpdesktop.
The problem also occurs in phpdesktop-Chrome. The application window displays
an error message like this:
Error 500: Internal Server Error
Cannot spawn CGI process [C:\phpdesktop\phpdesktop-chrome-31.0-php-5.5.8_ąć\www/index.php]: No such device or address
It seems that the problem sits in the Mongoose webserver, needs further
investigation.
Original comment by [email protected]
on 21 Jan 2014 at 12:31
from phpdesktop.
[deleted comment]
from phpdesktop.
[deleted comment]
from phpdesktop.
[deleted comment]
from phpdesktop.
[deleted comment]
from phpdesktop.
[deleted comment]
from phpdesktop.
This is the error from the phpdesktop console:
- 18:12:44.136 WARNING: spawn_process: CreateProcess(C:\phpdesktop\phpdesktop-chrome-─à─ç\php\php-cgi.exe "C:\phpdesktop
\phpdesktop-chrome-─à─ç\www\index.php"): 2
Debug logs from mongoose:
*** 1390583766.0000094C.spawn_process.1361: Running [C:\phpdesktop\phpdesktop-chrome-ąć\php\php-cgi.exe "C:\phpdesktop\phpdesktop-chrome-ąć\www\index.php"]
*** 1390583766.0000094C.send_http_error.970: [Error 500: Internal Server Error
Cannot spawn CGI process [C:\phpdesktop\phpdesktop-chrome-ąć\www/index.php]:
No such device or address]
So the code to fix should be somewhere on line 1361 in the spawn_process()
function.
Original comment by [email protected]
on 24 Jan 2014 at 5:17
from phpdesktop.
Fixed the problem in mongoose, creating process with unicode characters works
fine. But now php-cgi.exe doesn't want to work when passed unicode characters
to it.Getting this messsage from php-cgi process:
No input file specified.
Original comment by [email protected]
on 24 Jan 2014 at 6:40
from phpdesktop.
The php-cgi.exe executable seems to be compiled in ASCII mode, so it can't
accept unicode paths. It won't even work passing a normal ascii path with no
special characters, but when the php-cgi.exe executable is in a path that
contains special characters.
Original comment by [email protected]
on 24 Jan 2014 at 6:56
from phpdesktop.
Correction to comment #12: the php-cgi.exe can reside in a directory with
unicode characters. The problem is running a php script that resides in a
directory with unicode characters. Even when path to such script is relative,
it will fail.
Original comment by [email protected]
on 24 Jan 2014 at 7:12
from phpdesktop.
The php.exe executable can run scripts fine when the php.exe resides in a
unicode path and when the provided path to php.exe is relative. So it should
also be possible for this to work in php-cgi.exe. Probably php-cgi uses a
different function to open the file.
PHP CLI (php.exe) is using VCWD_FOPEN() to open a file.
PHP CGI is using php_fopen_primary_script(), thus the different behavior.
Original comment by [email protected]
on 24 Jan 2014 at 8:00
from phpdesktop.
In php_fopen_primary_script() it calls zend_resolve_path() and that is causing
the issue. It tries to resolve an unicode path and results in error. The fix
would be to get rid of that call, build php-cgi.exe from sources and include
the custom built cgi executables with phpdesktop binaries.
Instructions on building php from sources:
https://wiki.php.net/internals/windows/stepbystepbuild
Also a minor modification to mongoose would be required, so that it passes a
relative path to the php script.
Original comment by [email protected]
on 24 Jan 2014 at 8:04
from phpdesktop.
It is sad that PHP doesn't support unicode paths and this cannot be easily
fixed. The only solution left that I'm thinking of would be to force php to use
some virtual file system layer on top of which we would fix the unicode
support. It's not a fix for the whole unicode issue in php, but only for our
use case, when the www/ directory is on a path that contains unicode
characters. This solution would require to provide custom php binaries for
phpdesktop. Not sure how this would play with loading of custom php extensions
like the php encoders.
Original comment by [email protected]
on 24 Jan 2014 at 11:34
from phpdesktop.
Much of the code that would need to be modified to support unicode in PHP
5.4/5.5 is in TSRM/tsrm_virtual_cwd.c. I've been investigating the unicode
issue for many hours and there are so many complexities in doing it. I don't
think I wil take on this task. In PHP 5.6 they have even refactored much of the
TSRM directory. A crazy amount of time would need to be devoted to support this
feature. I've read that php 5.6 was supposed to fix unicde path issues, but
I've tested 5.6.0-alpha1 and the issue still exists. PHP 6 was supposed to
support unicode but was abandoned due to complexities. I don't see PHP
supporting unicode paths anytime soon.
Original comment by [email protected]
on 25 Jan 2014 at 1:03
- Changed state: WontFix
from phpdesktop.
Issue 68 has been merged into this issue.
Original comment by [email protected]
on 25 Jan 2014 at 1:21
from phpdesktop.
Issue 68 has been merged into this issue.
Original comment by [email protected]
on 25 Jan 2014 at 1:56
from phpdesktop.
Fixed unicode paths issues in the mongoose webserver in revision 44266e938f59.
Original comment by [email protected]
on 25 Jan 2014 at 2:10
from phpdesktop.
Project will move to Github. Find this issue at the new address (soon):
https://github.com/cztomczak/phpdesktop/issues/33
Original comment by [email protected]
on 24 Aug 2015 at 3:19
from phpdesktop.
Related Issues (20)
- Bootstrap 5 off canvas, modals, burgur menu dropdowns is not working in php-desktop for windows. HOT 5
- Any version without chrome HOT 5
- Algum procedimento recomendado para a lib funcionar na versão 7.4 do php?
- Most links on Build/Windows are dead? HOT 2
- slowness HOT 1
- How to upgrade the CEF version? HOT 2
- Unable to play local video HOT 3
- Bootstrap js and Nav Js not work HOT 2
- Compilation : 'OVERRIDE' : unknown substitution specifier HOT 1
- Uncaught (in promise) ReferenceError: AbortController is not defined
- Codeigniter 4 sqlite3 connection problem HOT 3
- Code protection suggestion HOT 7
- Is PHP Desktop compatible with Laravel latest ( versrion 10.x now )?
- Default Window Size But
- how to update the chromium version HOT 6
- how to build this project HOT 3
- Why does php desktop run slow when the machine is connected to internet???
- mp4 format video not working in php desktop HOT 2
- Browser Not Supported HOT 4
- No way to change the flags in the installed browser instance, flags are hard coded in C++
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpdesktop.