If the above keywords are all familiar to you, then you can probably guess what I'm trying to do.
The question is if it is possible to do xDebugging a PHP page residing on a remote ( goDaddy ) server, using MAC a version of NetBeans where the local copy of the PHP file is kept in dropbox.
So that...
When you goto another MAC (that has the same setup), you can open up the dropbox and check out the most up-to-date php file that you worked on knowing that it must be synced to the remote server. ( here, I won't be editing the dropbox file, I'd be just viewing - cause I will exclusively be working on the remote server directly and here netbeans would be saving a local copy for only backup purposes, therefore there is no point for me to work on the local ( dropbox ) copy. )
If this set-up is not logical, you may suggest similar but alternative set-ups. I think the dropbox component here is the one that complicates things. But I'm not sure if the idea is good to even begin with. Some discussion would prove useful.
Yes, that should be possible - but seems somehow senseless to me. You should go and setup a VCS like Subversion or - preferably - git, to achive a central code management.
Related
I am currently working alongside a project team for the development of a website and we are using SmartFtp for file sharing.
Does anyone know how to compile/edit php files through SmartFtp? I.e. using apache for compiling and atom for editing.
Please note: I have already tried copying the files into the htdocs folder within xampp but had no luck. The php files did not successfully copy into the htdocs folder.
Thanks again
Fair warning...
This is a terrible way to host a project. Each developer should have their own isolated project installation. Even though you only have a few developers, it's only a matter of time before you get a collision and somebody loses work.
Using FTP is also a terrible idea. It is completely insecure.
That said, you've got a couple options:
If your dev server is a *nix flavor, you can probably use SSHFS to mount the remote directory on your local machine. This will allow you to edit the remote files live, as if they were any other regular local file. This is secure and relatively easy to set up, but you may find it a bit too slow for anything but small projects.
Use FTPS/SFTP/SCP to push files to the remote server when you save them locally. I'm not terribly familiar with Atom, but many IDEs (like NetBeans and PHPStorm) can be configured to automatically FTPS/SFTP/SCP push changed files to remote servers. Just save locally as you normally would, and in the background, the IDE will perform an FTPS/SFTP/SCP push. Do not use FTP. If your server has FTP configured, it probably also has SFTP and/or FTPS configured.
Create your own development environment. Host your own site on your own machine so that you don't collide. You can run Apache/Nginx/PHP/MySQL directly on your machine, in a virtual box, or even a docker container. This is the best and most flexible option, but also requires the most effort to get running.
This should be a comment, but its a bit long.
I am really confused by your question.
how to compile/edit php files
PHP uses a run-time compiler. Are you talking about Roadsend or HipHop or something else?
development of a website and we are using SmartFtp for file sharing
Presumably you don't give a damn about your code integrity, managing conflicting code changes, version control or the security of your development environment. It's 2017. FTP was way past its sell-by date before the turn of the millenium.
compile/edit php files through SmartFtp
It's an FTP client. Just one of many things you don't use to compile or edit files (others include an avacado, a tennis shoe, scissors, a sunset...).
Presumably you are using this client to connect to a server - which you've told us nothing about. You probably want to do the collaborative bit of your code management (if that is what you are asking) on the server.
(from comments)
Development sever with multiple people pushing edits ad hoc while they code through an Ftp server.
That's not a "development server" that's a recipe for code armageddon.
i'm developing a PHP web application that i recently launched into a remote shared hosted server. However, i'm constantly updating it using Dreamweaver on my development machine. Whenever i use PUT to update a file on the server for example config.php, i think at that same time there are requests on the file already causing php fatal errors.
How can i avoid this? Please help. Thank you.
You need to find program, which will upload file with a suffix in the name (e.g. "filename.ext.!part") and only after uploading will rename existing file.
At this moment I don't remember existing solution, as variant you can try to play with this: http://winscp.net/eng/docs/script_commands
Another variant is using APC accelerator with apc.stat = 0 - cached copy of executable code of your scripts will be updated when server will restart. It's less comfortable way, of course.
Also, Dreamweaver isn't best IDE - try to use NetBeans (free) or PhpStorm (commercial).
I assume you're using FTP connection, which is probably the root of the problems.
You can try switching to SSH connection, which is faster and secure way to upload files. You will have to ask the hosting company for SSH access, as it might be different credentials.
If you're looking for more enterprise php deployment solutions, we use phing to deploy applications (http://www.phing.info/trac/). Phing is using XML files and task to deploy apps, which might by an overkill for you.
RakeshS's answer is the wisest and safest one. Using a version system like SubVersion or GIT will also help copy many files quickly (just update the hosting server at once, without having to wait for many files to be FTPed and w/o forgetting any), and will help get back to the previous version at once in case of a blocking error.
I'm a real klutz when it comes to Eclipse, but I'm also poor, which is why it is the option I've chosen.
I've installed Eclipse 3.5, Eclipse for PHP, and RSE. I've actually gotten to a point where I can create a new (local) project and download all files to my local (Windows) computer. I'm not running any kind of web server on my local box, and am hoping to keep it that way for now.
I've imported my remote folder into my local project, where I can see all my PHP files and edit them. But of course, when I save, it just saves the local copy. Is there no "put" command? Can I not save straight to the server? Or perform an immediate sync of that one file? I certainly wouldn't want to have to perform a complex sync operation after every little incremental change.
I have no idea what RSE really is, nor how it works, and the documentation is, well, cloaked at best, non-existent at worst. Does anyone have some tips for me? What should my workflow be (barring any local server to test)?
Ideally, I would love to be able to open up the entire "project" directly from its location on the remote server and avoid dealing with a "local" copy altogether. Failing that, I would be willing to "get" the entire remote site once, and then manually "put" individual files that I change locally back, provided it's not a cumbersome process. Am I asking too much? Dreamweaver operates this way, but it's support for PHP is limited at best and can't be considered a full-fledged IDE...
I use WinSCP and enable remote synchronization.
Everything that changes on the local system is automatically synchronized trough SCP/FTP onto the server.
Looks like RSE might be overkill for your needs. Here's a similar question and popular answer to your problem of uploading from Eclipse:
How do I add FTP support to Eclipse?
Secondly, you could try out a version control system like SVN - it would take a little bit of time and work to set it up but probably be far more useful than getting RSE going and then you could develop locally, commit your changes to the server and then update the workspace on the server.
Thirdly, there are other IDEs out there, like Netbeans, with built in support for working on remote files.
Sorry to drag up an old topic but Remote System Explorer is exactly what you need. No need for sFTP or a Shell. Setup the connection in the RSE perspective just like you normally would using your sFTP/SSH client.
Open the folder for the first time and you get the login dialog. Enter your credentials. Store them as needed.
Now navigate to your development files and double click or right click to open the file. Eclipse caches a local copy till you save, Ctrl-S.
Need to do some shell work. Right click on a folder and Launch a Terminal. If your files are source controlled, such as svn, you can checkout or update from the terminal.
I use to have Putty, FileZilla and a host of other editors and utilities. Now I never leave Eclipse. SQL, Shell, sFTP, PHP, CSS/HTML, C/C++, Droid, all within Eclipse.
I tackled the same problem recently. I got a web site hosting company and was using SeaMonkey and developing the code on the 'production server' and learned to do development on a 'development server' and then upload the debugged, working stuff to the production server.
So I use Xampp (it's a good, and FREE, local web server you can easily install on your laptop) and I use NetBeans to develop. Netbeans is better than Microsoft tools -- no ballmer involved in the deal.
xampp uses Apache as the (local) web server and provides Mysql and PHP server-side-scripting support.
The quality of these two is HIGH. Just excellent stuff. You will want to get a local web server running on your laptop, do your development locally, then upload using ftp or the Netbeans environment, the files to your 'production web server.'
I messed around with a lot of different unrelated pieces trying to put a local web server, debugger, mysql database together and then got really lucky and found xampp and then NetBeans.
I think #Łukasz's note deserves to be an answer on this page - it would have saved me a great deal of time, so hopefully it will do the same for others:
Here is great tutorial for Eclipse: How to setup Eclipse with PHP PDT, Remote System Explorer, Theme Manager, and Drupal Plugins Eclipse + PDT + Remote System Explorer allows you to develop PHP applications remotely.
I will add that downloading and using the smaller Eclipse for PHP Developers and thus skipping step 2 on the blog works just fine.
I'm looking for a simple way to publish/retrieve PHP code changes from my local copy in Eclipse to a remote server over FTP/SFTP...
I've explored the Remote Server Explorer a bit but it seems overly difficult to use for simple tasks such as "upload this file to server". Is there a good solution out there? Or do people just generally not do web development in Eclipse? RSE seems great if I want to work directly on the server, but what about publishing on MY schedule?
I've been quite happy with Aptana Studio 2 in the past as it offers everything I need, but it's getting out-of-date and Studio 3 offers a whole new set of problems. Maybe I just need a good, straightforward RSE tutorial.
I'd say it depends on 2 things; what platform you're developing on and the nature of the target server. If you're targeting a live server I'd say always upload manually (unless you're part of a live team), otherwise you could consider a more automatic solution. I use Linux, so I've used rsync and sshfs before, both work well but have their own quirks.
HTH.
At work I use http://andrei.gmxhome.de/filesync/examples.html but it`s for more local/intranet situations (aslo rsync could help here).
And at home I use non-eclipse http://www.cyberkiko.com/page/FTPSync.aspx connected as favorite
But RSE also a good stuff.
I recommand the reverse solution :
Use a remote server, which stock your application.
Sync your local by mount your remote server via SSHFS.
For SSHFS you can do a Linux command like sshfs .
Good : Run without any Eclipse plugin and on all your computers…
Bad : Need desactivate the Eclipse DLTK auto indexer.
Or you can install the Eclipse Plugin «Remote System Explorer» which run SSHFS and do the same stuff.
Good : You have an interface…
Bad :
[…] Which is more complicated than the only one command that you need :p (SSHFS)…
You are now in a specific Eclipse configuration.
The plugin isn't available with some version of Eclipse.
I have a small PHP project with a MySQL database, that I have been programming on notepad and uploading directly to my remote server using FTP.
Now I have installed ECLIPSE PHP and I would like to know if is there a way to sycronize or deploy my local project on the remote server (without manual copy/paste using FTP), and connect it to the remote MySQL to test it. I cannot find the option.
Thanks a lot
I don't think this option is in Eclipse by default but you can use a plugin.
From the Eclipse MarketPlace (because they do have an appstore too :D), I found projx-transfer that seems to be perfect for you.
Well,
when you do it, why not do it right? ;) There are a ton of Plugins for Eclipse, for example you could use SVN ( http://www.eclipse.org/subversive/ ) for releasing and Version controlling or GIT ( http://www.eclipse.org/egit/ ).
If its all about speed (and you work under linux, which I hope you do) why not work directly via SSHFS ( http://en.wikipedia.org/wiki/SSHFS )
Just some thoughts.