EDIT2:安装并启用了APC。解决方案是什么?fsockopen()错误500当我在部署到Ubuntu VPS后尝试访问我的Symfony应用程序
我正在尝试将一个symfony应用程序部署到VPS。 我从git中部署了代码,我安装了供应商并检查/web/config.php来修复Symfony需求中的所有主要和推荐问题。这全是绿色的。
但是,当我尝试访问[VPS_IP] /my_project/web/app.php时,我得到一个页面无法正常工作。 [my_ip]目前无法处理该请求。
我也尝试配置虚拟主机,并尝试访问我的[my_ip]上的Symfony应用程序只作为URL地址,我得到相同的结果。
我已经启用了apache 2 mod重写,我已经添加并启用了所有必需的php扩展,我在php.ini中设置了date.timezone,我也查看了dev.log文件和tehre我有这个错误可能是原因:
[2016-11-22 14:45:49] php.DEBUG: fsockopen(): unable to connect to 127.0.0.1:800 0 (Connection refused) {"type":2,"file":"/var/www/html/giftbundle/vendor/symfony /symfony/src/Symfony/Bundle/FrameworkBundle/Command/ServerCommand.php","line":59 ,"level":28928} []
任何人都可以提供一些帮助吗?
config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@MyVendorBundle/Resources/config/services.yml" }
# Put parameters here that don't need to change on each machine where the app is deployed
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
framework:
#esi: ~
#translator: { fallbacks: ["%locale%"] }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
serializer: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
http_method_override: true
assets: ~
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes:
- 'bootstrap_3_layout.html.twig'
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
# app/config/config.yml
#knp_menu:
# use "twig: false" to disable the Twig extension and the TwigRenderer
# twig:
# template: knp_menu.html.twig
# if true, enables the helper for PHP templates
# templating: false
# the renderer to use, list is also available by default
# default_renderer: twig
assetic:
debug: '%kernel.debug%'
use_controller: '%kernel.debug%'
filters:
cssrewrite: ~
gregwar_captcha: ~
liip_imagine:
filter_sets:
cover_filter:
filters:
thumbnail:
size: [600, 400]
mode: inset
prod_thumbnail:
filters:
thumbnail:
size: [50, 50]
mode: inset
#web_profiler:
# toolbar: true
# position: bottom
# intercept_redirects: false
# excluded_ajax_paths: ^/bundles|^/_wdt
parameters.yml
# This file is auto-generated during the composer install
parameters:
database_host: [another remote DB IP]
database_port: 3306
database_name: [remote DB name]
database_user: [Remote DB user]
database_password: [remote DB PSW]
mailer_transport: sendmail
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: rodacsoft
facebook_app_id: [fb_app_ID]
facebook_app_secret: [fb_secret]
VPS /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/giftbundle/web
<Directory /var/www/html/giftbundle/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/project>
# Options FollowSymlinks
# </Directory>
ErrorLog /var/log/apache2/symfony_error.log
CustomLog /var/log/apache2/symfony_access.log combined
</VirtualHost>
编辑:在Symfony_error.log我有这个。不知道如何解决它或如果它是相关的。
[Tue Nov 22 14:46:06.216187 2016] [:error] [pid 21788] [client 159.153.60.77:18035] PHP Fatal error: Uncaught Symfony\\Component\\DependencyInjection\\Exception\\ServiceNotFoundException: The service "validator.builder" has a dependency on a non-existent service "validator.mapping.cache.apc". in /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:58\nStack trace:\n#0 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php(51): Symfony\\Component\\DependencyInjection\\Compiler\\CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(Array)\n#1 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php(51): Symfony\\Component\\DependencyInjection\\Compiler\\CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(Array)\n#2 /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnIn in /var/www/html/giftbundle/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php on line 58
从错误日志中,我认为您的Symfony项目启用了APC缓存,并且您的服务器没有安装apc缓存 –
@Szanto apcache从我在phpinfo中看到的状态启用。我怎么去解决这个问题呢?改变它使用的Symfony应用缓存与别的东西,以防我的服务器不在我认为的东西之外? –
@SzántóZoltán或者更好的是,我如何配置Symfony使用服务器Memcache? –