A deployment of a new PHP app fails with Composer, in the deployment logs, that are located in
D:\home\site\deployments\long-alphanumerical-string\log.log
I see the following:
Could not open input file: D:\home\SiteExtensions\ComposerExtension\Commands\\composer.phar,,0
The same setup works on other environments of the application without any problem.
Check if the Composer extension is added on the Extensions blade
It's possible that your composer installation didn't work well. Check if the mentioned file exists, if it doesn't - get it from https://getcomposer.org/download/ (phar files are at the bottom of the page), upload it via kudu and Redeploy the application.
Related
I have Laravel application which I learned to run both with php artisan serve and with local Apache.
Now I wish to run the same on Amazon Beanstalk.
I have created Beanstalk instance for PHP7. Then I went to Amazon Linux console and installed composer there. I think this was unneeded step.
Next I acrhived all my Laravel project with ZIP and uploaded it to AWS with web console. First I got Forbidden error
as said here: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-laravel-tutorial.html
Then I fixed document root to public/ as said below and now I have health state severe saying
Impaired services on all instances.
Following services are not running: proxy.
When I am opening site with browser, I see blank page.
How to see any logs in AWS to understand what is happening?
What cen be a reason? Project is self-contained, it uses SQLite database inside the codebase. When I was enabling this project on local machine, I was to enable multiple things in Apache and PHP.
It was the problem with ZIP file structure: it contained extra top directory inside. So, on AWS it was /var/app/current/myappname while should be just /var/app/current.
Did you install mbstring after creating the instance?
sudo yum install php70w-mbstring
If this isn't the problem, you can view Laravel log in storage/log/laravel.log and tell us what is there to help you.
I was getting this error due to Elastic Beanstalk config settings being incorrect, specifically, the Document root was incorrect and was seeing the Following services are not running: proxy. error in the event log.
When generating the ZIP archive, be sure to generate it within the project folder. So when you open the zip file, you have the app folder, not another folder with the project name.
I've already installed composer on the production application. I've set permissions on the storage folder (775, 777). The web server is configured to look for index.php. That's the first time I try to deploy a Laravel application. Something that messed me up was that after I used the push command to upload my Laravel application using git I looked inside the Laravel storage folder in the server and I realized that the storage folder had basically only the directory structure of the storage folder of my local Laravel application, many files were missing like laravel.log among others. I assumed that it was because I didn't ran composer install on the server. After running composer install things continued the same.
I want to install intervention/image package on my web server i had installed on my localhost , and i want to install it on my web server , Can I Install Laravel 4 package without using Composer? because i don't have acces to use command prompt on my web server.
How are you installing Laravel and the other dependencies already?
Just install it locally like normal then copy your vendor directory along with the rest of your project to your host.
it's possible for you to just upload your vendor directory with ftp, but I wouldn't advise it to you.
Couple of reasons:
You don't want to upload your dev-dependencies, so you would have to handpick which folder to upload - everytime you want to update your dependencies
Uploading over ftp is very slow, so that might take a long time
You don't get the latest versions of the dependencies (which could resolve some security issues)
You wouldn't get any warning if some package isn't compatible with your environment.
I suggest you to use a host that gives you CLI, or even better that can directly run composer when you push up your files, as hannesvdvreken said, fortrabbit (Disclosure: i work there).
If you are running PHP on a shared host without composer you still have some options left:
Install composer on the server in the same folder as your project,
Upload composer.phar to your server,
Change your hosting provider (try fortrabbit),
Upload your vendor folder from your local computer to your server. (Last resort)
Yes you can download it via LaraPack. It provide you ready-to-use Laravel instalation, so you don't have install it with Composer. It also gets weekly update.
I am currently trying to install Omnipay into my Codeigniter project. I am stuck on windows because I do not have ssh access to the box where this needs to run on. So far I have gotten a new directory in the project root that is named "vendor" and it contains a lot of empty directories referring to Symfony (for what reason is beyond me).
Then I get a runtime exception that I need to enable the openssl extension in my php to download the necessary files and this is where I am stuck at. I don't run WAMP on my computer and I just use the php.exe I downloaded to work with netbeans.
Isn't there an easier way to get omnipay to run? Like just download the files from somewhere and plug them into my project like normal? It seems to be an aweful lot of headache to get a simple library to run in my CI project.
Please forgive my ignorance towards composer but I currently see no benefit of using it for this particular project.
You can "just download" the files here: https://github.com/omnipay/common/archive/master.zip
The problem is, Omnipay depends on Guzzle (an HTTP library), and Guzzle depends on some Symfony components. So you will spend the rest of the day downloading dependencies and making sure you have all the necessary files. That is the problem Composer solves for you.
I don't have any experience running Composer on Windows, but I would start here:
http://getcomposer.org/doc/00-intro.md#installation-windows
Using the Installer
This is the easiest way to get Composer set up on your machine.
Download and run Composer-Setup.exe, it will install the latest
Composer version and set up your PATH so that you can just call
composer from any directory in your command line.
Once you have Composer installed, you should simply be able to make a file named composer.json in your project root, with the following contents:
{
"require": {
"omnipay/omnipay": "~2.0"
}
}
Then use the Command Prompt and cd to your project's directory, and run composer update to download the Omnipay files and all their dependencies.
I'd like to know if I can install or use the Laravel PHP framework on any web server without using Composer (PHP package/dependency manager) every time?
I would like to be able to drop my app on to any web server (like a shared server without access to the command line).
If I run composer install the first time (locally), then all the dependencies should be present, correct?
Then, I should be able to drop it onto any server with all of the files (including the vendor directory)?
If you really wanted to, you could do all the work that Composer does manually, but you definitely should not. Installing Composer is easy, it's just a matter of getting the composer.phar file and running commands on it.
You do not need to run Composer on your server as well as locally, once you run composer install or composer update your project will have all its dependencies available and you can just upload it straight to your server.
You cannot install laravel local without composer in your project.
On this site you can download everything what you can download also with the composer build tool. But you do not need a composer installation. Of course laravel is also present there: https://php-download.com/package/laravel/laravel
If you have shared server and you are not able to install composer and run cmd to install a new package or update an existing package.
You can one thing by installing composer on your local machine and install(ex composer require package/name) or update(ex composer update package/name) all the packages, then upload your vendor directory on the server with your code. it will work for you same as in your local environment.
NOTE: I strongly recommend that you should use the Laravel with the composer, it is an important part of laravel and you can try to convince your client to provide a server that supports laravel. Please check the link below and you can find the server requirements. https://laravel.com/docs/5.5#installation
If you don't want to use composer on server then you will have to run composer install/update and download all the libraries locally and then manually upload all those files on the server i.e. Vendor Directory.
In-Case of shared hosting where you can't connect to server with shh there you might have to do that but it will take lot of time to upload all the files on server so I would recommend that you should composer and then download the libraries through composer install/update.
Yes, you can install all project dependencies via composer in your localhost first, and then transfer all the files via FTP to your actual website.
Just download the zip file from github and upload to your htdoc and voilĂ it will work for you